Other software I've written.
Libev is a high-performance event loop capable of using different kinds of polling mechanisms provided by different operating systems.
From this page you will find Objective Caml bindings to it.
There is a GC related issue that will eventually cause a segmentation violation, so it is not advisable to use this for anything except small hacks :-). The latest darcs version will crash if you comment out the line 'Hashtbl.add foo () v;' which keeps references to created event watchers, so solution should be near..
Download ocaml-ev v 0.4 and libev 3.0. An experimental combined package is also available (might require tweaking to compile); it features a CVS HEAD version from the libev repository, featuring asynchronous messaging. The produced library will statically contain libev. These two versions are likely to be merged to some point.
You may compile the bindings with "make all" and install via "sudo make libinstall". Ocaml-ev uses OCamlMakefile as its build system.
Ocaml-ev has been successfully compiled with under Linux with ocamlc 3.10.1 and libev 3.0.
You may also access the latest version (even with a web browser) from the Darcs repository. Enter
darcs get http://www.modeemi.cs.tut.fi/~flux/software/darcs/ocaml-ev or darcs get http://www.modeemi.cs.tut.fi/~flux/software/darcs/ocaml-ev-with-libevto fetch your copy.