comparison src/event/ngx_event_timer.c @ 379:73688d5d7fc3

nginx-0.0.7-2004-07-06-20:12:16 import
author Igor Sysoev <igor@sysoev.ru>
date Tue, 06 Jul 2004 16:12:16 +0000
parents 744ccb59062d
children 02a511569afb
comparison
equal deleted inserted replaced
378:b7d3625c9336 379:73688d5d7fc3
66 void ngx_event_expire_timers(ngx_msec_t timer) 66 void ngx_event_expire_timers(ngx_msec_t timer)
67 { 67 {
68 ngx_event_t *ev; 68 ngx_event_t *ev;
69 ngx_rbtree_t *node; 69 ngx_rbtree_t *node;
70 70
71 if (timer < 0) {
72 /* avoid the endless loop if the time goes backward for some reason */
73 timer = 0;
74 }
75
71 for ( ;; ) { 76 for ( ;; ) {
72 77
73 if (ngx_event_timer_rbtree == &ngx_event_timer_sentinel) { 78 if (ngx_event_timer_rbtree == &ngx_event_timer_sentinel) {
74 return; 79 return;
75 } 80 }
97 * the rbtree to find a next expired timer so we exit the loop. 102 * the rbtree to find a next expired timer so we exit the loop.
98 * However it should be rare case when the event that is 103 * However it should be rare case when the event that is
99 * been handling has expired timer. 104 * been handling has expired timer.
100 */ 105 */
101 106
107 ngx_log_debug1(NGX_LOG_DEBUG_EVENT, ev->log, 0,
108 "event " PTR_FMT " is busy in expire timers",
109 ev);
102 break; 110 break;
103 } 111 }
104 #endif 112 #endif
105 113
106 ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0, 114 ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0,