From 1cd1e2741ab83cd7e0816e8b8ff43b3668703ea6 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Fri, 19 Dec 2003 12:45:27 +0000 Subject: nginx-0.0.1-2003-12-19-15:45:27 import --- src/event/ngx_event_timer.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'src/event/ngx_event_timer.c') diff --git a/src/event/ngx_event_timer.c b/src/event/ngx_event_timer.c index 416cb13f0..72f2cd2bd 100644 --- a/src/event/ngx_event_timer.c +++ b/src/event/ngx_event_timer.c @@ -21,9 +21,9 @@ int ngx_event_timer_init(ngx_cycle_t *cycle) } ngx_event_timer_rbtree = &ngx_event_timer_sentinel; - ngx_event_timer_sentinel.left = &ngx_event_timer_sentinel; #if 0 + ngx_event_timer_sentinel.left = &ngx_event_timer_sentinel; ngx_event_timer_sentinel.right = &ngx_event_timer_sentinel; ngx_event_timer_sentinel.parent = &ngx_event_timer_sentinel; #endif @@ -41,19 +41,18 @@ ngx_msec_t ngx_event_find_timer(void) { ngx_rbtree_t *node; - node = ngx_rbtree_min(ngx_event_timer_rbtree, &ngx_event_timer_sentinel); - - if (node == &ngx_event_timer_sentinel) { + if (ngx_event_timer_rbtree == &ngx_event_timer_sentinel) { return 0; + } + + node = ngx_rbtree_min(ngx_event_timer_rbtree, &ngx_event_timer_sentinel); - } else { - return (ngx_msec_t) + return (ngx_msec_t) (node->key * NGX_TIMER_RESOLUTION - ngx_elapsed_msec / NGX_TIMER_RESOLUTION * NGX_TIMER_RESOLUTION); #if 0 (node->key * NGX_TIMER_RESOLUTION - ngx_elapsed_msec); #endif - } } @@ -63,13 +62,14 @@ void ngx_event_expire_timers(ngx_msec_t timer) ngx_rbtree_t *node; for ( ;; ) { - node = ngx_rbtree_min(ngx_event_timer_rbtree, - &ngx_event_timer_sentinel); - if (node == &ngx_event_timer_sentinel) { + if (ngx_event_timer_rbtree == &ngx_event_timer_sentinel) { break; } + node = ngx_rbtree_min(ngx_event_timer_rbtree, + &ngx_event_timer_sentinel); + if ((ngx_msec_t) node->key <= (ngx_msec_t) (ngx_old_elapsed_msec + timer) / NGX_TIMER_RESOLUTION) { -- cgit