diff --git a/prelude.ml b/prelude.ml index fe60ade..ec457e2 100644 --- a/prelude.ml +++ b/prelude.ml @@ -55,5 +55,12 @@ let call_me_maybe f x = | None -> () | Some f -> f x +(* + If libev backend is available, do nothing (lwt uses it as default). + Otherwise, prefer poll over select, because select can only monitor fds up to 1024, + and poll is guaranteed to be available without the fd limitation. +*) let () = - Lwt_engine.set @@ new Lwt_engines.poll + if not (Lwt_config._HAVE_LIBEV && Lwt_config.libev_default) then begin + Lwt_engine.set @@ new Lwt_engines.poll + end