diff options
Diffstat (limited to 'src/event/modules')
| -rw-r--r-- | src/event/modules/ngx_devpoll_module.c | 28 | ||||
| -rw-r--r-- | src/event/modules/ngx_epoll_module.c | 26 | ||||
| -rw-r--r-- | src/event/modules/ngx_eventport_module.c | 28 | ||||
| -rw-r--r-- | src/event/modules/ngx_kqueue_module.c | 29 | ||||
| -rw-r--r-- | src/event/modules/ngx_poll_module.c | 28 | ||||
| -rw-r--r-- | src/event/modules/ngx_rtsig_module.c | 34 | ||||
| -rw-r--r-- | src/event/modules/ngx_select_module.c | 11 | ||||
| -rw-r--r-- | src/event/modules/ngx_win32_select_module.c | 11 |
8 files changed, 47 insertions, 148 deletions
diff --git a/src/event/modules/ngx_devpoll_module.c b/src/event/modules/ngx_devpoll_module.c index 0506103e6..8f302255d 100644 --- a/src/event/modules/ngx_devpoll_module.c +++ b/src/event/modules/ngx_devpoll_module.c @@ -404,8 +404,6 @@ ngx_devpoll_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, return NGX_ERROR; } - ngx_mutex_lock(ngx_posted_events_mutex); - for (i = 0; i < events; i++) { fd = event_list[i].fd; @@ -495,19 +493,13 @@ ngx_devpoll_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, rev = c->read; if ((revents & POLLIN) && rev->active) { - - if ((flags & NGX_POST_THREAD_EVENTS) && !rev->accept) { - rev->posted_ready = 1; - - } else { - rev->ready = 1; - } + rev->ready = 1; if (flags & NGX_POST_EVENTS) { - queue = (ngx_event_t **) (rev->accept ? - &ngx_posted_accept_events : &ngx_posted_events); + queue = rev->accept ? &ngx_posted_accept_events + : &ngx_posted_events; - ngx_locked_post_event(rev, queue); + ngx_post_event(rev, queue); } else { instance = rev->instance; @@ -523,16 +515,10 @@ ngx_devpoll_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, wev = c->write; if ((revents & POLLOUT) && wev->active) { - - if (flags & NGX_POST_THREAD_EVENTS) { - wev->posted_ready = 1; - - } else { - wev->ready = 1; - } + wev->ready = 1; if (flags & NGX_POST_EVENTS) { - ngx_locked_post_event(wev, &ngx_posted_events); + ngx_post_event(wev, &ngx_posted_events); } else { wev->handler(wev); @@ -540,8 +526,6 @@ ngx_devpoll_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, } } - ngx_mutex_unlock(ngx_posted_events_mutex); - return NGX_OK; } diff --git a/src/event/modules/ngx_epoll_module.c b/src/event/modules/ngx_epoll_module.c index a098c1c00..309e91855 100644 --- a/src/event/modules/ngx_epoll_module.c +++ b/src/event/modules/ngx_epoll_module.c @@ -612,8 +612,6 @@ ngx_epoll_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, ngx_uint_t flags) return NGX_ERROR; } - ngx_mutex_lock(ngx_posted_events_mutex); - for (i = 0; i < events; i++) { c = event_list[i].data.ptr; @@ -674,18 +672,13 @@ ngx_epoll_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, ngx_uint_t flags) } #endif - if ((flags & NGX_POST_THREAD_EVENTS) && !rev->accept) { - rev->posted_ready = 1; - - } else { - rev->ready = 1; - } + rev->ready = 1; if (flags & NGX_POST_EVENTS) { - queue = (ngx_event_t **) (rev->accept ? - &ngx_posted_accept_events : &ngx_posted_events); + queue = rev->accept ? &ngx_posted_accept_events + : &ngx_posted_events; - ngx_locked_post_event(rev, queue); + ngx_post_event(rev, queue); } else { rev->handler(rev); @@ -708,15 +701,10 @@ ngx_epoll_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, ngx_uint_t flags) continue; } - if (flags & NGX_POST_THREAD_EVENTS) { - wev->posted_ready = 1; - - } else { - wev->ready = 1; - } + wev->ready = 1; if (flags & NGX_POST_EVENTS) { - ngx_locked_post_event(wev, &ngx_posted_events); + ngx_post_event(wev, &ngx_posted_events); } else { wev->handler(wev); @@ -724,8 +712,6 @@ ngx_epoll_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, ngx_uint_t flags) } } - ngx_mutex_unlock(ngx_posted_events_mutex); - return NGX_OK; } diff --git a/src/event/modules/ngx_eventport_module.c b/src/event/modules/ngx_eventport_module.c index 5f9cf4e35..bba87ed81 100644 --- a/src/event/modules/ngx_eventport_module.c +++ b/src/event/modules/ngx_eventport_module.c @@ -466,8 +466,6 @@ ngx_eventport_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, return NGX_ERROR; } - ngx_mutex_lock(ngx_posted_events_mutex); - for (i = 0; i < events; i++) { if (event_list[i].portev_source == PORT_SOURCE_TIMER) { @@ -534,19 +532,13 @@ ngx_eventport_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, wev->active = 0; if (revents & POLLIN) { - - if ((flags & NGX_POST_THREAD_EVENTS) && !rev->accept) { - rev->posted_ready = 1; - - } else { - rev->ready = 1; - } + rev->ready = 1; if (flags & NGX_POST_EVENTS) { - queue = (ngx_event_t **) (rev->accept ? - &ngx_posted_accept_events : &ngx_posted_events); + queue = rev->accept ? &ngx_posted_accept_events + : &ngx_posted_events; - ngx_locked_post_event(rev, queue); + ngx_post_event(rev, queue); } else { rev->handler(rev); @@ -574,16 +566,10 @@ ngx_eventport_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, } if (revents & POLLOUT) { - - if (flags & NGX_POST_THREAD_EVENTS) { - wev->posted_ready = 1; - - } else { - wev->ready = 1; - } + wev->ready = 1; if (flags & NGX_POST_EVENTS) { - ngx_locked_post_event(wev, &ngx_posted_events); + ngx_post_event(wev, &ngx_posted_events); } else { wev->handler(wev); @@ -600,8 +586,6 @@ ngx_eventport_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, } } - ngx_mutex_unlock(ngx_posted_events_mutex); - return NGX_OK; } diff --git a/src/event/modules/ngx_kqueue_module.c b/src/event/modules/ngx_kqueue_module.c index 30e456c4d..9e41d3e90 100644 --- a/src/event/modules/ngx_kqueue_module.c +++ b/src/event/modules/ngx_kqueue_module.c @@ -573,8 +573,6 @@ ngx_kqueue_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, return NGX_ERROR; } - ngx_mutex_lock(ngx_posted_events_mutex); - for (i = 0; i < events; i++) { ngx_kqueue_dump_event(cycle->log, &event_list[i]); @@ -626,24 +624,6 @@ ngx_kqueue_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, ev->active = 0; } -#if (NGX_THREADS) - - if ((flags & NGX_POST_THREAD_EVENTS) && !ev->accept) { - ev->posted_ready = 1; - ev->posted_available = event_list[i].data; - - if (event_list[i].flags & EV_EOF) { - ev->posted_eof = 1; - ev->posted_errno = event_list[i].fflags; - } - - ngx_locked_post_event(ev, &ngx_posted_events); - - continue; - } - -#endif - ev->available = event_list[i].data; if (event_list[i].flags & EV_EOF) { @@ -674,9 +654,10 @@ ngx_kqueue_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, } if (flags & NGX_POST_EVENTS) { - 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); continue; } @@ -684,8 +665,6 @@ ngx_kqueue_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, ev->handler(ev); } - ngx_mutex_unlock(ngx_posted_events_mutex); - return NGX_OK; } diff --git a/src/event/modules/ngx_poll_module.c b/src/event/modules/ngx_poll_module.c index 9db6b6c4d..f2fc749f7 100644 --- a/src/event/modules/ngx_poll_module.c +++ b/src/event/modules/ngx_poll_module.c @@ -297,8 +297,6 @@ ngx_poll_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, ngx_uint_t flags) return NGX_ERROR; } - ngx_mutex_lock(ngx_posted_events_mutex); - for (i = 0; i < nevents && ready; i++) { revents = event_list[i].revents; @@ -372,31 +370,21 @@ ngx_poll_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, ngx_uint_t flags) found = 1; ev = c->read; + ev->ready = 1; - if ((flags & NGX_POST_THREAD_EVENTS) && !ev->accept) { - ev->posted_ready = 1; + queue = ev->accept ? &ngx_posted_accept_events + : &ngx_posted_events; - } else { - ev->ready = 1; - } - - queue = (ngx_event_t **) (ev->accept ? &ngx_posted_accept_events: - &ngx_posted_events); - ngx_locked_post_event(ev, queue); + ngx_post_event(ev, queue); } if ((revents & POLLOUT) && c->write->active) { found = 1; - ev = c->write; - if (flags & NGX_POST_THREAD_EVENTS) { - ev->posted_ready = 1; - - } else { - ev->ready = 1; - } + ev = c->write; + ev->ready = 1; - ngx_locked_post_event(ev, &ngx_posted_events); + ngx_post_event(ev, &ngx_posted_events); } if (found) { @@ -405,8 +393,6 @@ ngx_poll_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, ngx_uint_t flags) } } - ngx_mutex_unlock(ngx_posted_events_mutex); - if (ready != 0) { ngx_log_error(NGX_LOG_ALERT, cycle->log, 0, "poll ready != events"); } diff --git a/src/event/modules/ngx_rtsig_module.c b/src/event/modules/ngx_rtsig_module.c index b36230c76..66b2454c4 100644 --- a/src/event/modules/ngx_rtsig_module.c +++ b/src/event/modules/ngx_rtsig_module.c @@ -404,10 +404,10 @@ ngx_rtsig_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, ngx_uint_t flags) rev->ready = 1; if (flags & NGX_POST_EVENTS) { - queue = (ngx_event_t **) (rev->accept ? - &ngx_posted_accept_events : &ngx_posted_events); + queue = rev->accept ? &ngx_posted_accept_events + : &ngx_posted_events; - ngx_locked_post_event(rev, queue); + ngx_post_event(rev, queue); } else { rev->handler(rev); @@ -421,7 +421,7 @@ ngx_rtsig_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, ngx_uint_t flags) wev->ready = 1; if (flags & NGX_POST_EVENTS) { - ngx_locked_post_event(wev, &ngx_posted_events); + ngx_post_event(wev, &ngx_posted_events); } else { wev->handler(wev); @@ -554,8 +554,6 @@ ngx_rtsig_process_overflow(ngx_cycle_t *cycle, ngx_msec_t timer, continue; } - ngx_mutex_lock(ngx_posted_events_mutex); - for (i = 0; i < n; i++) { c = cycle->files[overflow_list[i].fd]; @@ -573,18 +571,13 @@ ngx_rtsig_process_overflow(ngx_cycle_t *cycle, ngx_msec_t timer, { tested++; - if ((flags & NGX_POST_THREAD_EVENTS) && !rev->accept) { - rev->posted_ready = 1; - - } else { - rev->ready = 1; - } + rev->ready = 1; if (flags & NGX_POST_EVENTS) { - queue = (ngx_event_t **) (rev->accept ? - &ngx_posted_accept_events : &ngx_posted_events); + queue = rev->accept ? &ngx_posted_accept_events + : &ngx_posted_events; - ngx_locked_post_event(rev, queue); + ngx_post_event(rev, queue); } else { rev->handler(rev); @@ -601,15 +594,10 @@ ngx_rtsig_process_overflow(ngx_cycle_t *cycle, ngx_msec_t timer, { tested++; - if (flags & NGX_POST_THREAD_EVENTS) { - wev->posted_ready = 1; - - } else { - wev->ready = 1; - } + wev->ready = 1; if (flags & NGX_POST_EVENTS) { - ngx_locked_post_event(wev, &ngx_posted_events); + ngx_post_event(wev, &ngx_posted_events); } else { wev->handler(wev); @@ -617,8 +605,6 @@ ngx_rtsig_process_overflow(ngx_cycle_t *cycle, ngx_msec_t timer, } } - ngx_mutex_unlock(ngx_posted_events_mutex); - if (tested >= rtscf->overflow_test) { if (ngx_linux_rtsig_max) { 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); diff --git a/src/event/modules/ngx_win32_select_module.c b/src/event/modules/ngx_win32_select_module.c index eb5382d4e..32ee78db1 100644 --- a/src/event/modules/ngx_win32_select_module.c +++ b/src/event/modules/ngx_win32_select_module.c @@ -296,8 +296,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++) { @@ -323,16 +321,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); |
