diff src/http/ngx_http_request.c @ 212:679f60139863

nginx-0.0.1-2003-12-19-11:15:11 import
author Igor Sysoev <igor@sysoev.ru>
date Fri, 19 Dec 2003 08:15:11 +0000
parents 00cafae0bdf1
children f536f91e8e99
line wrap: on
line diff
--- a/src/http/ngx_http_request.c
+++ b/src/http/ngx_http_request.c
@@ -107,6 +107,8 @@ void ngx_http_init_connection(ngx_connec
         return;
     }
 #endif
+
+    ngx_atomic_inc(ngx_http_reading_state);
 }
 
 
@@ -127,6 +129,7 @@ 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;
     }
@@ -1264,7 +1267,7 @@ static void ngx_http_set_lingering_close
     rev = c->read;
     rev->event_handler = ngx_http_lingering_close_handler;
 
-    r->lingering_time = ngx_time() + clcf->lingering_time / 1000;
+    r->lingering_time = ngx_cached_time + clcf->lingering_time / 1000;
     ngx_add_timer(rev, clcf->lingering_timeout);
 
     if (ngx_handle_level_read_event(rev) == NGX_ERROR) {
@@ -1326,7 +1329,7 @@ static void ngx_http_lingering_close_han
         return;
     }
 
-    timer = r->lingering_time - ngx_time();
+    timer = r->lingering_time - ngx_cached_time;
     if (timer <= 0) {
         ngx_http_close_request(r, 0);
         ngx_http_close_connection(c);