]> granicus.if.org Git - libevent/commitdiff
fix kqueue behaviour; requires special kernel patch to make kqueue
authorNiels Provos <provos@gmail.com>
Sat, 20 Dec 2003 20:05:17 +0000 (20:05 +0000)
committerNiels Provos <provos@gmail.com>
Sat, 20 Dec 2003 20:05:17 +0000 (20:05 +0000)
semantics consistent; from marius@umich.edu

svn:r92

kqueue.c

index 3ce1e0b6a00ac7865ed255e79dbdc42bcb405501..49bbced4a6788a425f06d8e48b276e8d7694ba91 100644 (file)
--- a/kqueue.c
+++ b/kqueue.c
@@ -290,6 +290,10 @@ kq_add(void *arg, struct event *ev)
                memset(&kev, 0, sizeof(kev));
                kev.ident = ev->ev_fd;
                kev.filter = EVFILT_READ;
+#ifdef NOTE_EOF
+               /* Make it behave like select() and poll() */
+               kev.fflags = NOTE_EOF;
+#endif
                kev.flags = EV_ADD;
                if (!(ev->ev_events & EV_PERSIST))
                        kev.flags |= EV_ONESHOT;