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.
diff --git a/src/event/ngx_event_timer.h b/src/event/ngx_event_timer.h
index a9d3176..13b5c0a 100644
--- a/src/event/ngx_event_timer.h
+++ b/src/event/ngx_event_timer.h
@@ -29,8 +29,7 @@
#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_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 @@
* 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);