]> git.kaiwu.me - nginx.git/commitdiff
nginx-0.0.3-2004-03-30-19:59:50 import
authorIgor Sysoev <igor@sysoev.ru>
Tue, 30 Mar 2004 15:59:50 +0000 (15:59 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Tue, 30 Mar 2004 15:59:50 +0000 (15:59 +0000)
src/core/ngx_atomic.h
src/http/ngx_http_request.c
src/http/ngx_http_request_body.c

index 6270d8a51eebfcb1454b07a1b3402234da2aefe7..31bf94c458de212897236848164691a292ffa110 100644 (file)
@@ -28,7 +28,7 @@ static ngx_inline uint32_t ngx_atomic_inc(ngx_atomic_t *value)
         NGX_SMP_LOCK
     "   xaddl  %0, %1;   "
 
-    : "=q" (old) : "m" (*value));
+    : "+q" (old) : "m" (*value));
 
     return old;
 }
@@ -45,7 +45,7 @@ static ngx_inline uint32_t ngx_atomic_dec(ngx_atomic_t *value)
         NGX_SMP_LOCK
     "   xaddl  %0, %1;   "
 
-    : "=q" (old) : "m" (*value));
+    : "+q" (old) : "m" (*value));
 
     return old;
 }
index 86321b51b6e37a26fa125b664ec575328a73e91a..21cce744ae2892b56f24df369f07d2d01a8e38d5 100644 (file)
@@ -38,7 +38,7 @@ static char *client_header_errors[] = {
     "client %s sent invalid header, URL: %s",
     "client %s sent too long header line, URL: %s",
     "client %s sent HTTP/1.1 request without \"Host\" header, URL: %s",
-    "client %s sent invalid \"Content-Length\" header, URL: %s"
+    "client %s sent invalid \"Content-Length\" header, URL: %s",
     "client %s sent POST method without \"Content-Length\" header, URL: %s"
 };
 
index c54674eb9a7cc9e79cdd4f8d96b64d54752b4dfd..9f1260c6f4238e637a0e598f9253a0be4c4ca359 100644 (file)
@@ -37,6 +37,9 @@ ngx_int_t ngx_http_read_client_request_body(ngx_http_request_t *r)
             /* the whole request body was pre-read */
 
             r->header_in->pos += r->headers_in.content_length_n;
+
+            r->request_body->handler(r->request_body->data);
+
             return NGX_OK;
         }
 
@@ -84,6 +87,11 @@ static void ngx_http_read_client_request_body_handler(ngx_event_t *rev)
     c = rev->data;
     r = c->data;
 
+    if (rev->timedout) {
+        ngx_http_finalize_request(r, NGX_HTTP_REQUEST_TIME_OUT);
+        return;
+    }
+
     rc = ngx_http_do_read_client_request_body(r);
 
     if (rc >= NGX_HTTP_SPECIAL_RESPONSE) {