darling-libkqueue/kqlite
mheily ac941cc4b2 kqlite: add initial timerfd support
git-svn-id: svn://svn.code.sf.net/p/libkqueue/code/trunk@665 fb4e3144-bc1c-4b72-a658-5bcd248dd7f7
2014-01-22 04:30:45 +00:00
..
dispatch.c Remove the dependency on pthreads, and move dispatching to a separate translation unit 2013-11-20 02:07:58 +00:00
kqlite.c kqlite: add initial timerfd support 2014-01-22 04:30:45 +00:00
lite.h kqlite: checkpoint 2013-10-22 01:42:22 +00:00
Makefile Remove the dependency on pthreads, and move dispatching to a separate translation unit 2013-11-20 02:07:58 +00:00
README More work on kqlite 2013-10-18 00:03:02 +00:00
test-lite.c kqlite: add initial timerfd support 2014-01-22 04:30:45 +00:00
utarray.h Checkpoint for more kqlite work 2013-10-18 01:27:07 +00:00

kqlite has the following goals:

 * be lightweight and efficient
 * provide a strict subset of the functionality of kqueue(2) and kevent(2)
 * closely resemble the kqueue API, but not guarantee 100% compatibility
 * support modern POSIX operating systems 

It should be possible to switch between kqlite and the full libkqueue
using a few preprocessor macros:

    #if LIBKQUEUE
    #define kqueue_t    int
    #define kq_init     kqueue
    #define kq_event    kevent
    #define kq_free     close
    #endif

Here are the differences between kqlite and kqueue:

 * Function names are different:

        kqueue()        ==      kq_init()
        kevent()        ==      kq_event()
        close()         ==      kq_free()

 * kqueue() returns an int, while kq_init returns an opaque kqueue_t type.