diff options
Diffstat (limited to 'src/event/modules/ngx_select_module.c')
-rw-r--r-- | src/event/modules/ngx_select_module.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/event/modules/ngx_select_module.c b/src/event/modules/ngx_select_module.c index d8bd54462..7a554fedd 100644 --- a/src/event/modules/ngx_select_module.c +++ b/src/event/modules/ngx_select_module.c @@ -305,8 +305,6 @@ ngx_select_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, return NGX_ERROR; } - ngx_mutex_lock(ngx_posted_events_mutex); - nready = 0; for (i = 0; i < nevents; i++) { @@ -332,16 +330,15 @@ ngx_select_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, if (found) { ev->ready = 1; - queue = (ngx_event_t **) (ev->accept ? &ngx_posted_accept_events: - &ngx_posted_events); - ngx_locked_post_event(ev, queue); + queue = ev->accept ? &ngx_posted_accept_events + : &ngx_posted_events; + + ngx_post_event(ev, queue); nready++; } } - ngx_mutex_unlock(ngx_posted_events_mutex); - if (ready != nready) { ngx_log_error(NGX_LOG_ALERT, cycle->log, 0, "select ready != events: %d:%d", ready, nready); |