From 62260f2a158e27e5f6b1689e10dc25ea3c617473 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Fri, 5 Dec 2003 17:07:27 +0000 Subject: nginx-0.0.1-2003-12-05-20:07:27 import --- src/event/ngx_event_timer.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 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 db97d01fc..90a4f2099 100644 --- a/src/event/ngx_event_timer.c +++ b/src/event/ngx_event_timer.c @@ -5,14 +5,15 @@ ngx_rbtree_t *ngx_event_timer_rbtree; +ngx_rbtree_t ngx_event_timer_sentinel; int ngx_event_timer_init(ngx_cycle_t *cycle) { - ngx_event_timer_rbtree = &sentinel; - sentinel.left = &sentinel; - sentinel.right = &sentinel; - sentinel.parent = &sentinel; + ngx_event_timer_rbtree = &ngx_event_timer_sentinel; + 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; return NGX_OK; } @@ -27,9 +28,9 @@ ngx_msec_t ngx_event_find_timer(void) { ngx_rbtree_t *node; - node = ngx_rbtree_min(ngx_event_timer_rbtree); + node = ngx_rbtree_min(ngx_event_timer_rbtree, &ngx_event_timer_sentinel); - if (node == &sentinel) { + if (node == &ngx_event_timer_sentinel) { return 0; } else { @@ -45,14 +46,15 @@ void ngx_event_expire_timers(ngx_msec_t timer) ngx_rbtree_t *node; for ( ;; ) { - node = ngx_rbtree_min(ngx_event_timer_rbtree); + node = ngx_rbtree_min(ngx_event_timer_rbtree, + &ngx_event_timer_sentinel); - if (node == &sentinel) { + if (node == &ngx_event_timer_sentinel) { break; } if ((ngx_msec_t) node->key <= (ngx_msec_t) - (ngx_elapsed_msec + timer) / NGX_TIMER_RESOLUTION) + (ngx_old_elapsed_msec + timer) / NGX_TIMER_RESOLUTION) { ev = (ngx_event_t *) ((char *) node - offsetof(ngx_event_t, rbtree_key)); -- cgit v1.2.3