comparison src/event/ngx_event_timer.c @ 110:dad2fe8ecf08 NGINX_0_3_2

nginx 0.3.2 *) 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 <http://sysoev.ru>
date Wed, 12 Oct 2005 00:00:00 +0400
parents cf3d6edb3ad6
children 408f195b3482
comparison
equal deleted inserted replaced
109:97da525033a1 110:dad2fe8ecf08
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