comparison src/event/ngx_event_timer.c @ 316:a0beefedaf94

nginx-0.0.3-2004-04-15-00:34:05 import
author Igor Sysoev <igor@sysoev.ru>
date Wed, 14 Apr 2004 20:34:05 +0000
parents 39b6f2df45c0
children 446782c909b3
comparison
equal deleted inserted replaced
315:39b6f2df45c0 316:a0beefedaf94
38 { 38 {
39 ngx_msec_t timer; 39 ngx_msec_t timer;
40 ngx_rbtree_t *node; 40 ngx_rbtree_t *node;
41 41
42 if (ngx_event_timer_rbtree == &ngx_event_timer_sentinel) { 42 if (ngx_event_timer_rbtree == &ngx_event_timer_sentinel) {
43 return 0; 43 return NGX_TIMER_INFINITE;
44 } 44 }
45 45
46 if (ngx_mutex_lock(ngx_event_timer_mutex) == NGX_ERROR) { 46 if (ngx_mutex_lock(ngx_event_timer_mutex) == NGX_ERROR) {
47 return NGX_TIMER_ERROR; 47 return NGX_TIMER_ERROR;
48 } 48 }
57 ngx_elapsed_msec / NGX_TIMER_RESOLUTION * NGX_TIMER_RESOLUTION); 57 ngx_elapsed_msec / NGX_TIMER_RESOLUTION * NGX_TIMER_RESOLUTION);
58 #if 0 58 #if 0
59 (node->key * NGX_TIMER_RESOLUTION - ngx_elapsed_msec); 59 (node->key * NGX_TIMER_RESOLUTION - ngx_elapsed_msec);
60 #endif 60 #endif
61 61
62 return timer > 0 ? timer: -1 ; 62 return timer > 0 ? timer: 0 ;
63 } 63 }
64 64
65 65
66 void ngx_event_expire_timers(ngx_msec_t timer) 66 void ngx_event_expire_timers(ngx_msec_t timer)
67 { 67 {
81 node = ngx_rbtree_min((ngx_rbtree_t *) ngx_event_timer_rbtree, 81 node = ngx_rbtree_min((ngx_rbtree_t *) ngx_event_timer_rbtree,
82 &ngx_event_timer_sentinel); 82 &ngx_event_timer_sentinel);
83 83
84 ngx_mutex_unlock(ngx_event_timer_mutex); 84 ngx_mutex_unlock(ngx_event_timer_mutex);
85 85
86 if ((ngx_msec_t) node->key <= (ngx_msec_t) 86 if (node->key <= (ngx_msec_t)
87 (ngx_old_elapsed_msec + timer) / NGX_TIMER_RESOLUTION) 87 (ngx_old_elapsed_msec + timer) / NGX_TIMER_RESOLUTION)
88 { 88 {
89 ev = (ngx_event_t *) 89 ev = (ngx_event_t *)
90 ((char *) node - offsetof(ngx_event_t, rbtree_key)); 90 ((char *) node - offsetof(ngx_event_t, rbtree_key));
91 91