diff options
author | Brad Smith <brad@cvs.openbsd.org> | 2005-12-20 02:15:29 +0000 |
---|---|---|
committer | Brad Smith <brad@cvs.openbsd.org> | 2005-12-20 02:15:29 +0000 |
commit | 39b94e1fd2ba7642a42563ed786e1a280b9477b1 (patch) | |
tree | 9f58fac12c6253d5fcf15336fcd62e75f0d725c9 | |
parent | c68803154feef3088b82b6ba30628cb3d46ee1f4 (diff) |
do not remove kq inkernel flag before event_del gets to it;
From libevent CVS
ok deraadt@
-rw-r--r-- | lib/libevent/kqueue.c | 6 |
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); |