From fa73aac7747c9d0a8575eb2beffcdab50171e006 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Wed, 21 May 2003 13:28:21 +0000 Subject: nginx-0.0.1-2003-05-21-17:28:21 import --- src/event/modules/ngx_kqueue_module.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'src/event/modules/ngx_kqueue_module.c') diff --git a/src/event/modules/ngx_kqueue_module.c b/src/event/modules/ngx_kqueue_module.c index 81475f70e..b8398b5f1 100644 --- a/src/event/modules/ngx_kqueue_module.c +++ b/src/event/modules/ngx_kqueue_module.c @@ -66,7 +66,7 @@ ngx_event_module_t ngx_kqueue_module_ctx = { NULL, /* delete an connection */ ngx_kqueue_process_events, /* process the events */ ngx_kqueue_init, /* init the events */ - ngx_kqueue_done, /* done the events */ + ngx_kqueue_done /* done the events */ } }; @@ -343,22 +343,23 @@ static int ngx_kqueue_process_events(ngx_log_t *log) } ev = (ngx_event_t *) event_list[i].udata; - instance = (uintptr_t) ev & 1; - ev = (void *) ((uintptr_t) ev & ~1); - - /* It's a stale event from a file descriptor - that was just closed in this iteration */ - - if (ev->active == 0 || ev->instance != instance) { - ngx_log_debug(log, "stale kevent"); - continue; - } switch (event_list[i].filter) { case EVFILT_READ: case EVFILT_WRITE: + instance = (uintptr_t) ev & 1; + ev = (void *) ((uintptr_t) ev & ~1); + + /* It's a stale event from a file descriptor + that was just closed in this iteration */ + + if (ev->active == 0 || ev->instance != instance) { + ngx_log_debug(log, "stale kevent"); + continue; + } + ev->available = event_list[i].data; if (event_list[i].flags & EV_EOF) { -- cgit