diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2004-04-14 20:34:05 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2004-04-14 20:34:05 +0000 |
| commit | cccc5528945be46d6afb456e7aba751340af9089 (patch) | |
| tree | b734bef5df932252d9f04ddaf39ef80c83b0b0f2 /src/event/modules/ngx_poll_module.c | |
| parent | b3968b314f063c42f983ba70becfb9fae97651f0 (diff) | |
| download | nginx-cccc5528945be46d6afb456e7aba751340af9089.tar.gz nginx-cccc5528945be46d6afb456e7aba751340af9089.tar.bz2 | |
nginx-0.0.3-2004-04-15-00:34:05 import
Diffstat (limited to 'src/event/modules/ngx_poll_module.c')
| -rw-r--r-- | src/event/modules/ngx_poll_module.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/event/modules/ngx_poll_module.c b/src/event/modules/ngx_poll_module.c index ffe59d49f..968180dbb 100644 --- a/src/event/modules/ngx_poll_module.c +++ b/src/event/modules/ngx_poll_module.c @@ -277,14 +277,22 @@ int ngx_poll_process_events(ngx_cycle_t *cycle) expire = 0; } else { - timer = ngx_event_find_timer(); + for ( ;; ) { + timer = ngx_event_find_timer(); - if (timer == -1) { - timer = 0; - expire = 1; + if (timer != 0) { + break; + } + + ngx_log_debug0(NGX_LOG_DEBUG_EVENT, cycle->log, 0, + "poll expired timer"); + + ngx_event_expire_timers(0); + } + + /* NGX_TIMER_INFINITE == INFTIM */ - } else if (timer == 0) { - timer = (ngx_msec_t) INFTIM; + if (timer == NGX_TIMER_INFINITE) { expire = 0; } else { @@ -308,7 +316,7 @@ int ngx_poll_process_events(ngx_cycle_t *cycle) } if (ngx_accept_mutex_held == 0 - && (timer == (ngx_msec_t) INFTIM || timer > ngx_accept_mutex_delay)) + && (timer == NGX_TIMER_INFINITE || timer > ngx_accept_mutex_delay)) { timer = ngx_accept_mutex_delay; expire = 0; @@ -341,7 +349,7 @@ int ngx_poll_process_events(ngx_cycle_t *cycle) return NGX_ERROR; } - if (timer != (ngx_msec_t) INFTIM) { + if (timer != NGX_TIMER_INFINITE) { delta = ngx_elapsed_msec - delta; ngx_log_debug2(NGX_LOG_DEBUG_EVENT, cycle->log, 0, |
