nginx-0.0.2-2004-02-12-23:57:10 import
diff --git a/src/event/modules/ngx_poll_module.c b/src/event/modules/ngx_poll_module.c
index dfc66cb..9c5f8e1 100644
--- a/src/event/modules/ngx_poll_module.c
+++ b/src/event/modules/ngx_poll_module.c
@@ -146,7 +146,7 @@
} 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 @@
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 @@
} else {
if (c->read->index == (u_int) nevents) {
c->read->index = ev->index;
+ }
- } else if (c->write->index == (u_int) nevents) {
+ 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");
}
}
}
} 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;
}