summaryrefslogtreecommitdiffhomepage
path: root/src/event/ngx_event.c
diff options
context:
space:
mode:
authorValentin Bartenev <vbart@nginx.com>2014-09-01 18:20:18 +0400
committerValentin Bartenev <vbart@nginx.com>2014-09-01 18:20:18 +0400
commit37d24e7e3be648a6f73bad18dcf53798a7a1aeb0 (patch)
treeeaf9902b1117ec4a3cd905855c3e26c5825f3282 /src/event/ngx_event.c
parent2a81e0556611188a1b9b3e1240a06928dcebc1a2 (diff)
downloadnginx-37d24e7e3be648a6f73bad18dcf53798a7a1aeb0.tar.gz
nginx-37d24e7e3be648a6f73bad18dcf53798a7a1aeb0.tar.bz2
Events: processing of posted events changed from LIFO to FIFO.
In theory, this can provide a bit better distribution of latencies. Also it simplifies the code, since ngx_queue_t is now used instead of custom implementation.
Diffstat (limited to 'src/event/ngx_event.c')
-rw-r--r--src/event/ngx_event.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/event/ngx_event.c b/src/event/ngx_event.c
index 8531ed7d5..26c3b9716 100644
--- a/src/event/ngx_event.c
+++ b/src/event/ngx_event.c
@@ -252,9 +252,7 @@ ngx_process_events_and_timers(ngx_cycle_t *cycle)
ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0,
"timer delta: %M", delta);
- if (ngx_posted_accept_events) {
- ngx_event_process_posted(cycle, &ngx_posted_accept_events);
- }
+ ngx_event_process_posted(cycle, &ngx_posted_accept_events);
if (ngx_accept_mutex_held) {
ngx_shmtx_unlock(&ngx_accept_mutex);
@@ -264,12 +262,7 @@ ngx_process_events_and_timers(ngx_cycle_t *cycle)
ngx_event_expire_timers();
}
- ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0,
- "posted events %p", ngx_posted_events);
-
- if (ngx_posted_events) {
- ngx_event_process_posted(cycle, &ngx_posted_events);
- }
+ ngx_event_process_posted(cycle, &ngx_posted_events);
}
@@ -612,6 +605,9 @@ ngx_event_process_init(ngx_cycle_t *cycle)
#endif
+ ngx_queue_init(&ngx_posted_accept_events);
+ ngx_queue_init(&ngx_posted_events);
+
if (ngx_event_timer_init(cycle->log) == NGX_ERROR) {
return NGX_ERROR;
}