diff src/http/ngx_http_request_body.c @ 294:5cfd65b8b0a7

nginx-0.0.3-2004-03-23-09:01:52 import
author Igor Sysoev <igor@sysoev.ru>
date Tue, 23 Mar 2004 06:01:52 +0000
parents ec3c049681fd
children bfe099e3f5b4
line wrap: on
line diff
--- a/src/http/ngx_http_request_body.c
+++ b/src/http/ngx_http_request_body.c
@@ -12,7 +12,6 @@ static ngx_int_t ngx_http_do_read_client
 ngx_int_t ngx_http_read_client_request_body(ngx_http_request_t *r,
                                             size_t request_buffer_size)
 {
-    ngx_int_t     rc;
     ssize_t       size;
     ngx_hunk_t   *h;
     ngx_chain_t  *cl;
@@ -143,12 +142,17 @@ static ngx_int_t ngx_http_do_read_client
         }
 
         if (n == 0 || n == NGX_ERROR) {
+            r->closed = 1;
             return NGX_HTTP_BAD_REQUEST;
         }
 
         r->request_body_hunk->last += n;
         r->request_body_len -= n;
 
+        if (r->request_body_len == 0) {
+            break;
+        }
+
         if (r->request_body_hunk->last < r->request_body_hunk->end) {
             break;
         }