diff src/event/ngx_event_timer.h @ 559:c1f965ef9718 release-0.3.1

nginx-0.3.1-RELEASE import *) Bugfix: the segmentation fault occurred when the signal queue overflowed if the "rtsig" method was used; the bug had appeared in 0.2.0. *) Change: correct handling of the "\\", "\"", "\'", and "\$" pairs in SSI.
author Igor Sysoev <igor@sysoev.ru>
date Mon, 10 Oct 2005 12:59:41 +0000
parents ecd9c160f25b
children e48ebafc6939
line wrap: on
line diff
--- a/src/event/ngx_event_timer.h
+++ b/src/event/ngx_event_timer.h
@@ -29,8 +29,7 @@ extern ngx_mutex_t  *ngx_event_timer_mut
 #endif
 
 
-extern ngx_thread_volatile ngx_rbtree_t  *ngx_event_timer_rbtree;
-extern ngx_rbtree_t                       ngx_event_timer_sentinel;
+extern ngx_thread_volatile ngx_rbtree_t  ngx_event_timer_rbtree;
 
 
 static ngx_inline void
@@ -38,22 +37,20 @@ ngx_event_del_timer(ngx_event_t *ev)
 {
     ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ev->log, 0,
                    "event timer del: %d: %M",
-                    ngx_event_ident(ev->data), ev->rbtree_key);
+                    ngx_event_ident(ev->data), ev->timer.key);
 
     if (ngx_mutex_lock(ngx_event_timer_mutex) == NGX_ERROR) {
         return;
     }
 
-    ngx_rbtree_delete((ngx_rbtree_t **) &ngx_event_timer_rbtree,
-                      &ngx_event_timer_sentinel,
-                      (ngx_rbtree_t *) &ev->rbtree_key);
+    ngx_rbtree_delete(&ngx_event_timer_rbtree, &ev->timer);
 
     ngx_mutex_unlock(ngx_event_timer_mutex);
 
 #if (NGX_DEBUG)
-    ev->rbtree_left = NULL;
-    ev->rbtree_right = NULL;
-    ev->rbtree_parent = NULL;
+    ev->timer.left = NULL;
+    ev->timer.right = NULL;
+    ev->timer.parent = NULL;
 #endif
 
     ev->timer_set = 0;
@@ -76,31 +73,29 @@ ngx_event_add_timer(ngx_event_t *ev, ngx
          * the rbtree operations for the fast connections.
          */
 
-        diff = (ngx_rbtree_key_int_t) (key - ev->rbtree_key);
+        diff = (ngx_rbtree_key_int_t) (key - ev->timer.key);
 
         if (ngx_abs(diff) < NGX_TIMER_LAZY_DELAY) {
             ngx_log_debug3(NGX_LOG_DEBUG_EVENT, ev->log, 0,
                            "event timer: %d, old: %M, new: %M",
-                            ngx_event_ident(ev->data), ev->rbtree_key, key);
+                            ngx_event_ident(ev->data), ev->timer.key, key);
             return;
         }
 
         ngx_del_timer(ev);
     }
 
-    ev->rbtree_key = key;
+    ev->timer.key = key;
 
     ngx_log_debug3(NGX_LOG_DEBUG_EVENT, ev->log, 0,
                    "event timer add: %d: %M:%M",
-                    ngx_event_ident(ev->data), timer, ev->rbtree_key);
+                    ngx_event_ident(ev->data), timer, ev->timer.key);
 
     if (ngx_mutex_lock(ngx_event_timer_mutex) == NGX_ERROR) {
         return;
     }
 
-    ngx_rbtree_insert((ngx_rbtree_t **) &ngx_event_timer_rbtree,
-                      &ngx_event_timer_sentinel,
-                      (ngx_rbtree_t *) &ev->rbtree_key);
+    ngx_rbtree_insert(&ngx_event_timer_rbtree, &ev->timer);
 
     ngx_mutex_unlock(ngx_event_timer_mutex);