Commit e2fec979 authored by iquiw's avatar iquiw Committed by Simon Marlow
Browse files

FFI wrapper for kevent()

parent 4aa8bc19
......@@ -305,7 +305,7 @@ foreign import ccall safe "kevent64"
c_kevent64 :: QueueFd -> Ptr Event -> CInt -> Ptr Event -> CInt -> CUInt
-> Ptr TimeSpec -> IO CInt
#elif defined(HAVE_KEVENT)
foreign import ccall safe "kevent"
foreign import ccall safe "__hscore_kevent"
c_kevent :: QueueFd -> Ptr Event -> CInt -> Ptr Event -> CInt
-> Ptr TimeSpec -> IO CInt
#else
......
......@@ -155,6 +155,10 @@ extern HsWord64 getMonotonicUSec(void);
#include <sys/select.h>
#endif
#if HAVE_SYS_EVENT_H
#include <sys/event.h>
#endif
/* in inputReady.c */
extern int fdReady(int fd, int write, int msecs, int isSock);
......@@ -541,6 +545,15 @@ INLINE int __hscore_open(char *file, int how, mode_t mode) {
}
#endif
#ifdef HAVE_KEVENT
INLINE int __hscore_kevent(int kq, const struct kevent *changelist,
size_t nchanges, struct kevent *eventlist,
size_t nevents, const struct timespec *timeout) {
return kevent(kq, changelist, nchanges, eventlist, nevents, timeout);
}
#endif
#if darwin_HOST_OS
// You should not access _environ directly on Darwin in a bundle/shared library.
// See #2458 and http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man7/environ.7.html
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment