summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Smith <brad@cvs.openbsd.org>2005-12-20 02:15:29 +0000
committerBrad Smith <brad@cvs.openbsd.org>2005-12-20 02:15:29 +0000
commit39b94e1fd2ba7642a42563ed786e1a280b9477b1 (patch)
tree9f58fac12c6253d5fcf15336fcd62e75f0d725c9
parentc68803154feef3088b82b6ba30628cb3d46ee1f4 (diff)
do not remove kq inkernel flag before event_del gets to it;
From libevent CVS ok deraadt@
-rw-r--r--lib/libevent/kqueue.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/lib/libevent/kqueue.c b/lib/libevent/kqueue.c
index 39ed55ca966..2f7f8484238 100644
--- a/lib/libevent/kqueue.c
+++ b/lib/libevent/kqueue.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kqueue.c,v 1.18 2005/07/02 07:15:13 grunk Exp $ */
+/* $OpenBSD: kqueue.c,v 1.19 2005/12/20 02:15:28 brad Exp $ */
/*
* Copyright 2000-2002 Niels Provos <provos@citi.umich.edu>
@@ -266,10 +266,8 @@ kq_dispatch(struct event_base *base, void *arg, struct timeval *tv)
if (!which)
continue;
- if (!(ev->ev_events & EV_PERSIST)) {
- ev->ev_flags &= ~EVLIST_X_KQINKERNEL;
+ if (!(ev->ev_events & EV_PERSIST))
event_del(ev);
- }
event_active(ev, which,
ev->ev_events & EV_SIGNAL ? events[i].data : 1);