Mercurial > hg > nginx
comparison src/event/ngx_event_timer.c @ 206:9aa426375256
nginx-0.0.1-2003-12-05-10:11:46 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 05 Dec 2003 07:11:46 +0000 |
parents | 4a9a2b1dd6fa |
children | 6e0fef527732 |
comparison
equal
deleted
inserted
replaced
205:4a9a2b1dd6fa | 206:9aa426375256 |
---|---|
21 void ngx_event_timer_done(ngx_cycle_t *cycle) | 21 void ngx_event_timer_done(ngx_cycle_t *cycle) |
22 { | 22 { |
23 } | 23 } |
24 | 24 |
25 | 25 |
26 int ngx_event_find_timer(void) | 26 ngx_msec_t ngx_event_find_timer(void) |
27 { | 27 { |
28 ngx_rbtree_t *node; | 28 ngx_rbtree_t *node; |
29 | 29 |
30 node = ngx_rbtree_min(ngx_event_timer_rbtree); | 30 node = ngx_rbtree_min(ngx_event_timer_rbtree); |
31 | 31 |
32 if (node == &sentinel) { | 32 if (node == &sentinel) { |
33 return 0; | 33 return 0; |
34 | 34 |
35 } else { | 35 } else { |
36 return node->key * NGX_TIMER_RESOLUTION - ngx_elapsed_msec; | 36 return (ngx_msec_t) |
37 (node->key * NGX_TIMER_RESOLUTION - ngx_elapsed_msec); | |
37 } | 38 } |
38 } | 39 } |
39 | 40 |
40 | 41 |
41 void ngx_event_expire_timers(ngx_msec_t timer) | 42 void ngx_event_expire_timers(ngx_msec_t timer) |
48 | 49 |
49 if (node == &sentinel) { | 50 if (node == &sentinel) { |
50 break; | 51 break; |
51 } | 52 } |
52 | 53 |
53 if ((ngx_msec_t) node->key <= | 54 if ((ngx_msec_t) node->key <= (ngx_msec_t) |
54 (ngx_elapsed_msec + timer) / NGX_TIMER_RESOLUTION) | 55 (ngx_elapsed_msec + timer) / NGX_TIMER_RESOLUTION) |
55 { | 56 { |
56 ev = (ngx_event_t *) | 57 ev = (ngx_event_t *) |
57 ((char *) node - offsetof(ngx_event_t, rbtree)); | 58 ((char *) node - offsetof(ngx_event_t, rbtree_key)); |
58 | 59 |
59 ngx_del_timer(ev); | 60 ngx_del_timer(ev); |
60 | 61 |
61 if (ev->delayed) { | 62 if (ev->delayed) { |
62 ev->delayed = 0; | 63 ev->delayed = 0; |