Mercurial > hg > nginx
diff src/event/modules/ngx_poll_module.c @ 259:d30f2c39caae
nginx-0.0.2-2004-02-12-23:57:10 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 12 Feb 2004 20:57:10 +0000 |
parents | b6793bc5034b |
children | bdd631bf1a1c |
line wrap: on
line diff
--- a/src/event/modules/ngx_poll_module.c +++ b/src/event/modules/ngx_poll_module.c @@ -146,7 +146,7 @@ static int ngx_poll_add_event(ngx_event_ } else { ngx_log_debug1(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "poll index: %d", e->index); + "poll add index: %d", e->index); event_list[e->index].events |= event; ev->index = e->index; @@ -195,6 +195,10 @@ static int ngx_poll_del_event(ngx_event_ nevents--; if (ev->index < (u_int) nevents) { + + ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0, + "index: copy event %d to %d", nevents, ev->index); + event_list[ev->index] = event_list[nevents]; c = &ngx_cycle->connections[event_list[nevents].fd]; @@ -219,20 +223,17 @@ static int ngx_poll_del_event(ngx_event_ } else { if (c->read->index == (u_int) nevents) { c->read->index = ev->index; - - } else if (c->write->index == (u_int) nevents) { - c->write->index = ev->index; + } - } else { - ngx_log_error(NGX_LOG_ALERT, ev->log, 0, - "unexpected last event index"); + if (c->write->index == (u_int) nevents) { + c->write->index = ev->index; } } } } else { ngx_log_debug1(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "poll index: %d", e->index); + "poll del index: %d", e->index); event_list[e->index].events &= ~event; }