Open aantron opened 6 years ago
See also #269, in which @yallop added support for choosing the backend.
libev should probably also be chosen by default on mac:
This also seems to be a duplicate of #87.
I am currently having problems with this. When I run:
Lwt_engine.set (new Lwt_engine.libev ~backend:Lwt_engine.Ev_backend.kqueue ());
I get a segmentation fault. Are there any workarounds for this?
Platform: macOS 12.5
@Marchhill what Lwt version are you using? Can you reproduce on the HEAD of the master branch?
What ocaml version are you using?
I don't have a mac so I can't reproduce, but having the added info could help someone else check.
On macOS, libev seems to default, too often, to
select(2)
. Given that a major reason for using libev in the first place is to avoidselect(2)
, we should have Lwt ask libev for itskqueue
backend explicitly.In other words, on macOS,
new Lwt_engine.libev ()
should default tonew Lwt_engine.(libev ~backend:Ev_backend.kqueue ())
. See classLwt_engine.libev
.cc @yallop, @anmonteiro as people who have been bitten by this.