]> git.kaiwu.me - nginx.git/commitdiff
nginx-0.0.1-2003-12-19-15:45:27 import
authorIgor Sysoev <igor@sysoev.ru>
Fri, 19 Dec 2003 12:45:27 +0000 (12:45 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Fri, 19 Dec 2003 12:45:27 +0000 (12:45 +0000)
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

index b24a997c4c48ff95aa72fb574b1c243c490f33af..b6bd17fb3b9fbbd2daca08b085628e0aad253ac4 100644 (file)
@@ -6,6 +6,7 @@
 #include <ngx_core.h>
 
 
+/* STUB */
 #define ngx_atomic_inc(x)   x++;
 #define ngx_atomic_dec(x)   x--;
 
index c3771d74a874dba4c02d47aafa6d2ef8e2a01e68..9919fa86f81f226dc4c1a9d9ca711ec8bff5545d 100644 (file)
@@ -198,6 +198,14 @@ void ngx_assert_core(ngx_log_t *log, const char *fmt, ...);
 #define ngx_log_debug2(level, log, err, fmt, arg1, arg2)
 #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) \
@@ -236,6 +244,14 @@ void ngx_assert_core(ngx_log_t *log, const char *fmt, ...);
 #define ngx_log_debug2(level, log, err, fmt, arg1, arg2)
 #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) \
index dc605510e1ef5da9f505cd001f6100db0e171571..683920b6eb9542c2ac6c0b01fafb93506d54b5e0 100644 (file)
@@ -123,7 +123,7 @@ void ngx_rbtree_insert(ngx_rbtree_t **root, ngx_rbtree_t *sentinel,
 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 **root, ngx_rbtree_t *sentinel,
         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 **root, ngx_rbtree_t *sentinel,
         }
     }
 
-    if (red) {
+    if (is_red) {
         return;
     }
 
@@ -246,7 +246,7 @@ void ngx_rbtree_delete(ngx_rbtree_t **root, ngx_rbtree_t *sentinel,
                 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;
 
index 0ddf4f67edbd653b8d4b3a7c54715e10ce43a093..669f510c4fee8f9f301786002a4dc85a57425b17 100644 (file)
@@ -286,10 +286,9 @@ static int ngx_kqueue_set_event(ngx_event_t *ev, int filter, u_int flags)
 
     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,
index 416cb13f0e454aa015ab5d44473164bf7fca2a92..72f2cd2bd1a4c06cd7fde4ba859518eacbefc19a 100644 (file)
@@ -21,9 +21,9 @@ int ngx_event_timer_init(ngx_cycle_t *cycle)
     }
 
     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;
 
-    node = ngx_rbtree_min(ngx_event_timer_rbtree, &ngx_event_timer_sentinel);
-
-    if (node == &ngx_event_timer_sentinel) {
+    if (ngx_event_timer_rbtree == &ngx_event_timer_sentinel) {
         return 0;
+    }
+
+    node = ngx_rbtree_min(ngx_event_timer_rbtree, &ngx_event_timer_sentinel);
 
-    } 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 timer)
     ngx_rbtree_t  *node;
 
     for ( ;; ) {
-        node = ngx_rbtree_min(ngx_event_timer_rbtree,
-                              &ngx_event_timer_sentinel);
 
-        if (node == &ngx_event_timer_sentinel) {
+        if (ngx_event_timer_rbtree == &ngx_event_timer_sentinel) {
             break;
         }
 
+        node = ngx_rbtree_min(ngx_event_timer_rbtree,
+                              &ngx_event_timer_sentinel);
+
         if ((ngx_msec_t) node->key <= (ngx_msec_t)
                          (ngx_old_elapsed_msec + timer) / NGX_TIMER_RESOLUTION)
         {
index 51e3229c99b1dc39f81b1869d032ca36ae82729e..cb61f36603f9d8bcf79408a40a6a1db2dbee3956 100644 (file)
@@ -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_sentinel;
 
 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_timer(ngx_event_t *ev, ngx_msec_t timer)
                              (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);
 
index 592e1b6cafed706aba2be4d105496b7548277e6e..9cb3fdc5f896f86332f2cd77a10458170339078e 100644 (file)
@@ -10,12 +10,6 @@ static char *ngx_http_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
 
 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;
 
index 954f695b2e03a5b81b02b1d0c3f75480253f8816..6edc015add619261b59ca137e3e5e4e230225890 100644 (file)
@@ -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;
 
index c484d277b87b3b3f50a3c229e00d7411dd81d05a..396e282c0d951eab875c73bc9f66807a622102cf 100644 (file)
@@ -107,8 +107,6 @@ void ngx_http_init_connection(ngx_connection_t *c)
         return;
     }
 #endif
-
-    ngx_atomic_inc(ngx_http_reading_state);
 }
 
 
@@ -129,7 +127,6 @@ static void ngx_http_init_request(ngx_event_t *rev)
 
     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;
     }