# HG changeset patch # User Igor Sysoev # Date 1071837927 0 # Node ID f536f91e8e9996741b536623b1793ac9dc870360 # Parent 679f60139863b27e8d5764e8878d80cc634c7477 nginx-0.0.1-2003-12-19-15:45:27 import diff --git a/src/core/ngx_atomic.h b/src/core/ngx_atomic.h --- a/src/core/ngx_atomic.h +++ b/src/core/ngx_atomic.h @@ -6,6 +6,7 @@ #include +/* STUB */ #define ngx_atomic_inc(x) x++; #define ngx_atomic_dec(x) x--; diff --git a/src/core/ngx_log.h b/src/core/ngx_log.h --- a/src/core/ngx_log.h +++ b/src/core/ngx_log.h @@ -199,6 +199,14 @@ void ngx_assert_core(ngx_log_t *log, con #endif #if (NGX_DEBUG) +#define ngx_log_debug3(level, log, err, fmt, arg1, arg2, arg3) \ + if (log->log_level & level) \ + ngx_log_error_core(NGX_LOG_DEBUG, log, err, fmt, arg1, arg2, arg3) +#else +#define ngx_log_debug3(level, log, err, fmt, arg1, arg2, arg3) +#endif + +#if (NGX_DEBUG) #define ngx_log_debug6(level, log, err, fmt, \ arg1, arg2, arg3, arg4, arg5, arg6) \ if (log->log_level & level) \ @@ -237,6 +245,14 @@ void ngx_assert_core(ngx_log_t *log, con #endif #if (NGX_DEBUG) +#define ngx_log_debug3(level, log, err, fmt, arg1, arg2, arg3) \ + if (log->log_level & level) \ + ngx_log_debug_core(log, err, fmt, arg1, arg2, arg3) +#else +#define ngx_log_debug3(level, log, err, fmt, arg1, arg2, arg3) +#endif + +#if (NGX_DEBUG) #define ngx_log_debug6(level, log, err, fmt, \ arg1, arg2, arg3, arg4, arg5, arg6) \ if (log->log_level & level) \ diff --git a/src/core/ngx_rbtree.c b/src/core/ngx_rbtree.c --- a/src/core/ngx_rbtree.c +++ b/src/core/ngx_rbtree.c @@ -123,7 +123,7 @@ void ngx_rbtree_insert(ngx_rbtree_t **ro void ngx_rbtree_delete(ngx_rbtree_t **root, ngx_rbtree_t *sentinel, ngx_rbtree_t *node) { - ngx_int_t red; + ngx_int_t is_red; ngx_rbtree_t *subst, *temp, *w; /* a binary tree delete */ @@ -152,7 +152,7 @@ void ngx_rbtree_delete(ngx_rbtree_t **ro return; } - red = ngx_rbt_is_red(subst); + is_red = ngx_rbt_is_red(subst); if (subst == subst->parent->left) { subst->parent->left = temp; @@ -199,7 +199,7 @@ void ngx_rbtree_delete(ngx_rbtree_t **ro } } - if (red) { + if (is_red) { return; } @@ -246,7 +246,7 @@ void ngx_rbtree_delete(ngx_rbtree_t **ro w = temp->parent->left; } - if (ngx_rbt_is_black(w->right) && ngx_rbt_is_black(w->left)) { + if (ngx_rbt_is_black(w->left) && ngx_rbt_is_black(w->right)) { ngx_rbt_red(w); temp = temp->parent; diff --git a/src/event/modules/ngx_kqueue_module.c b/src/event/modules/ngx_kqueue_module.c --- a/src/event/modules/ngx_kqueue_module.c +++ b/src/event/modules/ngx_kqueue_module.c @@ -286,10 +286,9 @@ static int ngx_kqueue_set_event(ngx_even c = ev->data; -#if (NGX_DEBUG_EVENT) - ngx_log_debug(ev->log, "kqueue set event: %d: ft:%d fl:%08x" _ - c->fd _ filter _ flags); -#endif + ngx_log_debug3(NGX_LOG_DEBUG_EVENT, c->log, 0, + "kevent set event: %d: ft:%d fl:%04X", + c->fd, filter, flags); if (nchanges >= max_changes) { ngx_log_error(NGX_LOG_WARN, ev->log, 0, diff --git a/src/event/ngx_event_timer.c b/src/event/ngx_event_timer.c --- a/src/event/ngx_event_timer.c +++ b/src/event/ngx_event_timer.c @@ -21,9 +21,9 @@ int ngx_event_timer_init(ngx_cycle_t *cy } ngx_event_timer_rbtree = &ngx_event_timer_sentinel; - ngx_event_timer_sentinel.left = &ngx_event_timer_sentinel; #if 0 + ngx_event_timer_sentinel.left = &ngx_event_timer_sentinel; ngx_event_timer_sentinel.right = &ngx_event_timer_sentinel; ngx_event_timer_sentinel.parent = &ngx_event_timer_sentinel; #endif @@ -41,19 +41,18 @@ ngx_msec_t ngx_event_find_timer(void) { ngx_rbtree_t *node; + if (ngx_event_timer_rbtree == &ngx_event_timer_sentinel) { + return 0; + } + node = ngx_rbtree_min(ngx_event_timer_rbtree, &ngx_event_timer_sentinel); - if (node == &ngx_event_timer_sentinel) { - return 0; - - } else { - return (ngx_msec_t) + return (ngx_msec_t) (node->key * NGX_TIMER_RESOLUTION - ngx_elapsed_msec / NGX_TIMER_RESOLUTION * NGX_TIMER_RESOLUTION); #if 0 (node->key * NGX_TIMER_RESOLUTION - ngx_elapsed_msec); #endif - } } @@ -63,13 +62,14 @@ void ngx_event_expire_timers(ngx_msec_t ngx_rbtree_t *node; for ( ;; ) { + + if (ngx_event_timer_rbtree == &ngx_event_timer_sentinel) { + break; + } + node = ngx_rbtree_min(ngx_event_timer_rbtree, &ngx_event_timer_sentinel); - if (node == &ngx_event_timer_sentinel) { - break; - } - if ((ngx_msec_t) node->key <= (ngx_msec_t) (ngx_old_elapsed_msec + timer) / NGX_TIMER_RESOLUTION) { diff --git a/src/event/ngx_event_timer.h b/src/event/ngx_event_timer.h --- a/src/event/ngx_event_timer.h +++ b/src/event/ngx_event_timer.h @@ -16,7 +16,7 @@ * 100 msec - 13 years 8 months */ -#define NGX_TIMER_RESOLUTION 50 +#define NGX_TIMER_RESOLUTION 1 #if 0 @@ -36,6 +36,9 @@ extern ngx_rbtree_t ngx_event_timer_se ngx_inline static void ngx_event_del_timer(ngx_event_t *ev) { + ngx_log_debug1(NGX_LOG_DEBUG_EVENT, ev->log, 0, + "event timer del: %d", ev->rbtree_key); + ngx_rbtree_delete(&ngx_event_timer_rbtree, &ngx_event_timer_sentinel, (ngx_rbtree_t *) &ev->rbtree_key); @@ -56,6 +59,9 @@ ngx_inline static void ngx_event_add_tim (ngx_elapsed_msec + timer) / NGX_TIMER_RESOLUTION; #endif + ngx_log_debug1(NGX_LOG_DEBUG_EVENT, ev->log, 0, + "event timer add: %d", ev->rbtree_key); + ngx_rbtree_insert(&ngx_event_timer_rbtree, &ngx_event_timer_sentinel, (ngx_rbtree_t *) &ev->rbtree_key); diff --git a/src/http/ngx_http.c b/src/http/ngx_http.c --- a/src/http/ngx_http.c +++ b/src/http/ngx_http.c @@ -10,12 +10,6 @@ static char *ngx_http_block(ngx_conf_t * int ngx_http_max_module; -ngx_uint_t ngx_http_reading_state; -ngx_uint_t ngx_http_processing_state; -ngx_uint_t ngx_http_writing_state; -ngx_uint_t ngx_http_lingering_close_state; -ngx_uint_t ngx_http_keepalive_state; - ngx_uint_t ngx_http_total_requests; uint64_t ngx_http_total_sent; diff --git a/src/http/ngx_http.h b/src/http/ngx_http.h --- a/src/http/ngx_http.h +++ b/src/http/ngx_http.h @@ -89,12 +89,6 @@ extern ngx_module_t ngx_http_module; extern int ngx_max_module; -extern ngx_uint_t ngx_http_reading_state; -extern ngx_uint_t ngx_http_processing_state; -extern ngx_uint_t ngx_http_writing_state; -extern ngx_uint_t ngx_http_lingering_close_state; -extern ngx_uint_t ngx_http_keepalive_state; - extern ngx_uint_t ngx_http_total_requests; extern uint64_t ngx_http_total_sent; diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c --- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c @@ -107,8 +107,6 @@ void ngx_http_init_connection(ngx_connec return; } #endif - - ngx_atomic_inc(ngx_http_reading_state); } @@ -129,7 +127,6 @@ static void ngx_http_init_request(ngx_ev if (rev->timedout) { ngx_log_error(NGX_LOG_INFO, c->log, NGX_ETIMEDOUT, "client timed out"); - ngx_atomic_dec(ngx_http_reading_state); ngx_http_close_connection(c); return; }