Mercurial > hg > nginx
diff src/event/modules/ngx_epoll_module.c @ 316:a0beefedaf94
nginx-0.0.3-2004-04-15-00:34:05 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 14 Apr 2004 20:34:05 +0000 |
parents | 39b6f2df45c0 |
children | 1308b98496a2 |
line wrap: on
line diff
--- a/src/event/modules/ngx_epoll_module.c Wed Apr 14 17:44:28 2004 +0000 +++ b/src/event/modules/ngx_epoll_module.c Wed Apr 14 20:34:05 2004 +0000 @@ -353,28 +353,37 @@ ngx_connection_t *c; ngx_epoch_msec_t delta; - timer = ngx_event_find_timer(); - ngx_old_elapsed_msec = ngx_elapsed_msec; + for ( ;; ) { + timer = ngx_event_find_timer(); + + if (timer != 0) { + break; + } - if (timer == -1) { - timer = 0; - expire = 1; + ngx_log_debug0(NGX_LOG_DEBUG_EVENT, cycle->log, 0, + "epoll expired timer"); - } else if (timer == 0) { - timer = (ngx_msec_t) -1; + ngx_event_expire_timers(0); + } + + /* NGX_TIMER_INFINITE == INFTIM */ + + if (timer == NGX_TIMER_INFINITE) { expire = 0; } else { expire = 1; } + ngx_old_elapsed_msec = ngx_elapsed_msec; + if (ngx_accept_mutex) { if (ngx_trylock_accept_mutex(cycle) == NGX_ERROR) { return NGX_ERROR; } if (ngx_accept_mutex_held == 0 - && (timer == -1 || timer > ngx_accept_mutex_delay)) + && (timer == NGX_TIMER_INFINITE || timer > ngx_accept_mutex_delay)) { timer = ngx_accept_mutex_delay; expire = 0; @@ -398,7 +407,7 @@ delta = ngx_elapsed_msec; ngx_elapsed_msec = tv.tv_sec * 1000 + tv.tv_usec / 1000 - ngx_start_msec; - if (timer != (ngx_msec_t) -1) { + if (timer != NGX_TIMER_INFINITE) { delta = ngx_elapsed_msec - delta; ngx_log_debug2(NGX_LOG_DEBUG_EVENT, cycle->log, 0,