Mercurial > hg > nginx
diff src/event/modules/ngx_kqueue_module.c @ 194:2357fa41738a
nginx-0.0.1-2003-11-21-09:30:49 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 21 Nov 2003 06:30:49 +0000 |
parents | c966c09be66b |
children | 8dee38ea9117 |
line wrap: on
line diff
--- a/src/event/modules/ngx_kqueue_module.c +++ b/src/event/modules/ngx_kqueue_module.c @@ -11,8 +11,8 @@ typedef struct { - u_int changes; - u_int events; + int changes; + int events; } ngx_kqueue_conf_t; @@ -30,7 +30,7 @@ static char *ngx_kqueue_init_conf(ngx_cy int ngx_kqueue = -1; static struct kevent *change_list, *event_list; -static u_int max_changes, nchanges, nevents; +static int max_changes, nchanges, nevents; static ngx_str_t kqueue_name = ngx_string("kqueue"); @@ -196,8 +196,9 @@ static int ngx_kqueue_add_event(ngx_even ev->oneshot = (flags & NGX_ONESHOT_EVENT) ? 1 : 0; if (nchanges > 0 - && ev->index < nchanges - && (void *) ((uintptr_t) change_list[ev->index].udata & ~1) == ev) + && ev->index < (u_int) nchanges + && ((uintptr_t) change_list[ev->index].udata & (uintptr_t) ~1) + == (uintptr_t) ev) { c = ev->data; ngx_log_error(NGX_LOG_ALERT, ev->log, 0, @@ -206,7 +207,7 @@ static int ngx_kqueue_add_event(ngx_even return NGX_ERROR; } - return ngx_kqueue_set_event(ev, event, EV_ADD | flags); + return ngx_kqueue_set_event(ev, event, EV_ADD|flags); } @@ -217,8 +218,9 @@ static int ngx_kqueue_del_event(ngx_even ev->active = 0; if (nchanges > 0 - && ev->index < nchanges - && (void *) ((uintptr_t) change_list[ev->index].udata & ~1) == ev) + && ev->index < (u_int) nchanges + && ((uintptr_t) change_list[ev->index].udata & (uintptr_t) ~1) + == (uintptr_t) ev) { #if (NGX_DEBUG_EVENT) ngx_connection_t *c = (ngx_connection_t *) ev->data; @@ -228,7 +230,7 @@ static int ngx_kqueue_del_event(ngx_even /* if the event is still not passed to a kernel we will not pass it */ - if (ev->index < --nchanges) { + if (ev->index < (u_int) --nchanges) { e = (ngx_event_t *) change_list[nchanges].udata; change_list[ev->index] = change_list[nchanges]; e->index = ev->index; @@ -247,7 +249,8 @@ static int ngx_kqueue_del_event(ngx_even return NGX_OK; } - return ngx_kqueue_set_event(ev, event, EV_DELETE); + return ngx_kqueue_set_event(ev, event, + flags & NGX_DISABLE_EVENT ? EV_DISABLE : EV_DELETE); } @@ -420,7 +423,7 @@ static int ngx_kqueue_process_events(ngx case EVFILT_WRITE: instance = (uintptr_t) ev & 1; - ev = (void *) ((uintptr_t) ev & ~1); + ev = (ngx_event_t *) ((uintptr_t) ev & (uintptr_t) ~1); /* * it's a stale event from a file descriptor @@ -486,8 +489,8 @@ static char *ngx_kqueue_init_conf(ngx_cy { ngx_kqueue_conf_t *kcf = conf; - ngx_conf_init_unsigned_value(kcf->changes, 512); - ngx_conf_init_unsigned_value(kcf->events, 512); + ngx_conf_init_value(kcf->changes, 512); + ngx_conf_init_value(kcf->events, 512); return NGX_CONF_OK; }