我遇到了一个我不知道如何调试的错误。错误是Exception: (Unix.Unix_error "Too many open files" pipe "")
。我没有打开任何文件,只打开了一个 Unix 进程。有人对如何调试这个有一些提示吗?
导致错误的函数是:
let rec update_act_odrs ?(sec_to_wait = 0.0) () =
try
(act_odrs := active_orders ())
|> fun _ -> Lwt_io.print "active_orders Updated\n"
with _ ->
Lwt_unix.sleep sec_to_wait
>>= update_act_odrs ~sec_to_wait:(sec_to_wait +. 1.0)
whereactive_orders ()
是一个从服务器获取 JSON 数据的函数。