]> granicus.if.org Git - libevent/commitdiff
oneshot means that its removed from the kernel list already
authorNiels Provos <provos@gmail.com>
Sat, 8 Mar 2003 16:44:51 +0000 (16:44 +0000)
committerNiels Provos <provos@gmail.com>
Sat, 8 Mar 2003 16:44:51 +0000 (16:44 +0000)
svn:r51

kqueue.c

index 9e48b7040100bdff5f58e07e7851e45b1ed69dfd..a61a6057bb62db5468db89683c38eac9f780bc5a 100644 (file)
--- a/kqueue.c
+++ b/kqueue.c
@@ -248,8 +248,10 @@ kq_dispatch(void *arg, struct timeval *tv)
                if (!which)
                        continue;
 
-               if (!(ev->ev_events & EV_PERSIST))
+               if (!(ev->ev_events & EV_PERSIST)) {
+                       ev->ev_flags &= ~EVLIST_X_KQINKERNEL;
                        event_del(ev);
+               }
 
                event_active(ev, which,
                    ev->ev_events & EV_SIGNAL ? events[i].data : 1);