diff options
author | Valentin Bartenev <vbart@nginx.com> | 2014-08-25 13:37:06 +0400 |
---|---|---|
committer | Valentin Bartenev <vbart@nginx.com> | 2014-08-25 13:37:06 +0400 |
commit | 16403bc7b1af41433bfcd1bda4db8216b57e0810 (patch) | |
tree | 070651a9cb5474f8c557fce5e7e4a5632731f77d /src/event/ngx_event_timer.c | |
parent | 246152c864a7136cc81abe6d2c5926288748d65c (diff) |
Events: simplified cycle in ngx_event_expire_timers().
Diffstat (limited to 'src/event/ngx_event_timer.c')
-rw-r--r-- | src/event/ngx_event_timer.c | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/src/event/ngx_event_timer.c b/src/event/ngx_event_timer.c index db43e26e7..b7f2ade38 100644 --- a/src/event/ngx_event_timer.c +++ b/src/event/ngx_event_timer.c @@ -67,32 +67,30 @@ ngx_event_expire_timers(void) node = ngx_rbtree_min(root, sentinel); - /* node->key <= ngx_current_time */ + /* node->key > ngx_current_time */ - if ((ngx_msec_int_t) (node->key - ngx_current_msec) <= 0) { - ev = (ngx_event_t *) ((char *) node - offsetof(ngx_event_t, timer)); + if ((ngx_msec_int_t) (node->key - ngx_current_msec) > 0) { + return; + } + + ev = (ngx_event_t *) ((char *) node - offsetof(ngx_event_t, timer)); - ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0, - "event timer del: %d: %M", - ngx_event_ident(ev->data), ev->timer.key); + ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0, + "event timer del: %d: %M", + ngx_event_ident(ev->data), ev->timer.key); - ngx_rbtree_delete(&ngx_event_timer_rbtree, &ev->timer); + ngx_rbtree_delete(&ngx_event_timer_rbtree, &ev->timer); #if (NGX_DEBUG) - ev->timer.left = NULL; - ev->timer.right = NULL; - ev->timer.parent = NULL; + ev->timer.left = NULL; + ev->timer.right = NULL; + ev->timer.parent = NULL; #endif - ev->timer_set = 0; + ev->timer_set = 0; - ev->timedout = 1; - - ev->handler(ev); - - continue; - } + ev->timedout = 1; - break; + ev->handler(ev); } } |