changeset 213:f536f91e8e99

nginx-0.0.1-2003-12-19-15:45:27 import
author Igor Sysoev <igor@sysoev.ru>
date Fri, 19 Dec 2003 12:45:27 +0000
parents 679f60139863
children e0c502f15852
files src/core/ngx_atomic.h src/core/ngx_log.h src/core/ngx_rbtree.c src/event/modules/ngx_kqueue_module.c src/event/ngx_event_timer.c src/event/ngx_event_timer.h src/http/ngx_http.c src/http/ngx_http.h src/http/ngx_http_request.c
diffstat 9 files changed, 42 insertions(+), 35 deletions(-) [+]
line wrap: on
line diff
--- a/src/core/ngx_atomic.h
+++ b/src/core/ngx_atomic.h
@@ -6,6 +6,7 @@
 #include <ngx_core.h>
 
 
+/* STUB */
 #define ngx_atomic_inc(x)   x++;
 #define ngx_atomic_dec(x)   x--;
 
--- 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) \
--- 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;
 
--- 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,
--- 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)
         {
--- 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);
 
--- 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;
 
--- 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;
 
--- 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;
     }