I just came across ocnae, and still trying to wrap my head around it. I came across this comment in the Cf_poll documentation:
"Note: On some platforms in the future, this module may be implemented around a specialized kernel event queue, e.g. /dev/poll on Solaris, or kevent/kqueue on Mac OS X. In this early implementation, however, the module is implemented as a wrapper around Unix.select on all platforms."
I thought I'd suggest looking into the OCaml libevent interface, as it provides just what you're looking for: