Mercurial > hg > nginx
diff src/event/ngx_event_timer.c @ 213:f536f91e8e99
nginx-0.0.1-2003-12-19-15:45:27 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 19 Dec 2003 12:45:27 +0000 |
parents | 679f60139863 |
children | 05592fd7a436 |
line wrap: on
line diff
--- 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 *cy } 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; + if (ngx_event_timer_rbtree == &ngx_event_timer_sentinel) { + return 0; + } + node = ngx_rbtree_min(ngx_event_timer_rbtree, &ngx_event_timer_sentinel); - if (node == &ngx_event_timer_sentinel) { - return 0; - - } 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 ngx_rbtree_t *node; for ( ;; ) { + + if (ngx_event_timer_rbtree == &ngx_event_timer_sentinel) { + break; + } + node = ngx_rbtree_min(ngx_event_timer_rbtree, &ngx_event_timer_sentinel); - if (node == &ngx_event_timer_sentinel) { - break; - } - if ((ngx_msec_t) node->key <= (ngx_msec_t) (ngx_old_elapsed_msec + timer) / NGX_TIMER_RESOLUTION) {