You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
So far this library has been just tested on macOS. We should test this on the various BSD systems (starting with FreeBSD, OpenBSD), and add tests to ensure the library works on them.
Some differences across the various systems is the type definition for kevent.
macOS:
structkevent {
uintptr_tident; /* identifier for this event */int16_tfilter; /* filter for event */uint16_tflags; /* general flags */uint32_tfflags; /* filter-specific flags */intptr_tdata; /* filter-specific data */void*udata; /* opaque user data identifier */
};
NetBSD
structkevent {
uintptr_tident; /* identifier for this event */uint32_tfilter; /* filter for event */uint32_tflags; /* action flags for kqueue */uint32_tfflags; /* filter flag value */int64_tdata; /* filter data value */void*udata; /* opaque user data identifier */
};
openBSD:
structkevent {
uintptr_tident; /* identifier for this event */shortfilter; /* filter for event */u_shortflags; /* action flags for kqueue */u_intfflags; /* filter flag value */int64_tdata; /* filter data value */void*udata; /* opaque user data identifier */
};
FreeBSD:
structkevent {
uintptr_tident; /* identifier for this event */shortfilter; /* filter for event */u_shortflags; /* action flags for kqueue */u_intfflags; /* filter flag value */int64_tdata; /* filter data value */void*udata; /* opaque user data identifier */uint64_text[4]; /* extensions */
};
Another area that will take some work is to go over the various filters and filter flags (NOTE_*), to add os specific support for each platform. We already use ppx_optcomp for some conditional compilation, we could leverage it further to work with filters and flags that aren't defined on all platforms. The list of variables generated by our dune setup that can be consumed via ppx_optcomp is available at
So far this library has been just tested on macOS. We should test this on the various BSD systems (starting with FreeBSD, OpenBSD), and add tests to ensure the library works on them.
Some differences across the various systems is the type definition for kevent.
macOS:
NetBSD
openBSD:
FreeBSD:
Another area that will take some work is to go over the various filters and filter flags (NOTE_*), to add os specific support for each platform. We already use
ppx_optcomp
for some conditional compilation, we could leverage it further to work with filters and flags that aren't defined on all platforms. The list of variables generated by our dune setup that can be consumed via ppx_optcomp is available atkqueue-ml/lib/config/config.ml
Lines 32 to 38 in 521dca9
The text was updated successfully, but these errors were encountered: