diff options
Diffstat (limited to '')
| -rw-r--r-- | src/event/ngx_event_timer.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/event/ngx_event_timer.h b/src/event/ngx_event_timer.h index ea8105ee3..0985cf1ad 100644 --- a/src/event/ngx_event_timer.h +++ b/src/event/ngx_event_timer.h @@ -8,6 +8,8 @@ /* + * 32 bit key value resolution + * * 1 msec - 49 days * 10 msec - 1 years 4 months * 50 msec - 6 years 10 months @@ -19,7 +21,7 @@ int ngx_event_timer_init(ngx_cycle_t *cycle); void ngx_event_timer_done(ngx_cycle_t *cycle); -int ngx_event_find_timer(void); +ngx_msec_t ngx_event_find_timer(void); void ngx_event_expire_timers(ngx_msec_t timer); #if 0 @@ -37,7 +39,8 @@ extern ngx_rbtree_t *ngx_event_timer_rbtree; ngx_inline static void ngx_event_del_timer(ngx_event_t *ev) { - ngx_rbtree_delete(&ngx_event_timer_rbtree, &ev->rbtree); + ngx_rbtree_delete(&ngx_event_timer_rbtree, + (ngx_rbtree_t *) &ev->rbtree_key); ev->timer_set = 0; } @@ -49,10 +52,11 @@ ngx_inline static void ngx_event_add_timer(ngx_event_t *ev, ngx_msec_t timer) ngx_del_timer(ev); } - ev->rbtree.key = (ngx_int_t) + ev->rbtree_key = (ngx_int_t) (ngx_elapsed_msec + timer) / NGX_TIMER_RESOLUTION; - ngx_rbtree_insert(&ngx_event_timer_rbtree, &ev->rbtree); + ngx_rbtree_insert(&ngx_event_timer_rbtree, + (ngx_rbtree_t *) &ev->rbtree_key); ev->timer_set = 1; } |
