Mercurial > hg > nginx
comparison src/event/ngx_event_timer.c @ 561:e48ebafc6939 release-0.3.2
nginx-0.3.2-RELEASE import
*) Feature: the Sun Studio 10 C compiler support.
*) Feature: the "proxy_upstream_max_fails",
"proxy_upstream_fail_timeout", "fastcgi_upstream_max_fails", and
"fastcgi_upstream_fail_timeout" directives.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 12 Oct 2005 13:50:36 +0000 |
parents | c1f965ef9718 |
children | 9c2f3ed7a247 |
comparison
equal
deleted
inserted
replaced
560:8886091eddd2 | 561:e48ebafc6939 |
---|---|
43 | 43 |
44 | 44 |
45 ngx_msec_t | 45 ngx_msec_t |
46 ngx_event_find_timer(void) | 46 ngx_event_find_timer(void) |
47 { | 47 { |
48 ngx_rbtree_key_int_t timer; | 48 ngx_msec_int_t timer; |
49 ngx_rbtree_node_t *node, *root, *sentinel; | 49 ngx_rbtree_node_t *node, *root, *sentinel; |
50 | 50 |
51 if (ngx_event_timer_rbtree.root == &ngx_event_timer_sentinel) { | 51 if (ngx_event_timer_rbtree.root == &ngx_event_timer_sentinel) { |
52 return NGX_TIMER_INFINITE; | 52 return NGX_TIMER_INFINITE; |
53 } | 53 } |
54 | 54 |
61 | 61 |
62 node = ngx_rbtree_min(root, sentinel); | 62 node = ngx_rbtree_min(root, sentinel); |
63 | 63 |
64 ngx_mutex_unlock(ngx_event_timer_mutex); | 64 ngx_mutex_unlock(ngx_event_timer_mutex); |
65 | 65 |
66 timer = (ngx_rbtree_key_int_t) node->key | 66 timer = (ngx_msec_int_t) node->key - (ngx_msec_int_t) ngx_current_time; |
67 - (ngx_rbtree_key_int_t) ngx_current_time; | |
68 | 67 |
69 return (ngx_msec_t) (timer > 0 ? timer : 0); | 68 return (ngx_msec_t) (timer > 0 ? timer : 0); |
70 } | 69 } |
71 | 70 |
72 | 71 |
92 | 91 |
93 node = ngx_rbtree_min(root, sentinel); | 92 node = ngx_rbtree_min(root, sentinel); |
94 | 93 |
95 /* node->key <= ngx_current_time */ | 94 /* node->key <= ngx_current_time */ |
96 | 95 |
97 if ((ngx_rbtree_key_int_t) node->key | 96 if ((ngx_msec_int_t) node->key - (ngx_msec_int_t) ngx_current_time <= 0) |
98 - (ngx_rbtree_key_int_t) ngx_current_time | |
99 <= 0) | |
100 { | 97 { |
101 ev = (ngx_event_t *) ((char *) node - offsetof(ngx_event_t, timer)); | 98 ev = (ngx_event_t *) ((char *) node - offsetof(ngx_event_t, timer)); |
102 | 99 |
103 #if (NGX_THREADS) | 100 #if (NGX_THREADS) |
104 | 101 |