diff src/http/ngx_http_request_body.c @ 332:3a91bfeffaba NGINX_0_6_10

nginx 0.6.10 *) Feature: the "open_file_cache", "open_file_cache_retest", and "open_file_cache_errors" directives. *) Bugfix: socket leak; bug appeared in 0.6.7. *) Bugfix: a charset set by the "charset" directive was not appended to the "Content-Type" header set by $r->send_http_header(). *) Bugfix: a segmentation fault might occur in worker process if /dev/poll method was used.
author Igor Sysoev <http://sysoev.ru>
date Mon, 03 Sep 2007 00:00:00 +0400
parents 5e3b425174f6
children 4276c2f1f434
line wrap: on
line diff
--- a/src/http/ngx_http_request_body.c
+++ b/src/http/ngx_http_request_body.c
@@ -446,8 +446,6 @@ ngx_http_discard_request_body(ngx_http_r
         return NGX_OK;
     }
 
-    r->discard_body = 1;
-
     size = r->header_in->last - r->header_in->pos;
 
     if (size) {
@@ -461,6 +459,8 @@ ngx_http_discard_request_body(ngx_http_r
         }
     }
 
+    r->discard_body = 1;
+
     r->read_event_handler = ngx_http_read_discarded_request_body_handler;
 
     if (ngx_handle_read_event(rev, 0) == NGX_ERROR) {
@@ -521,6 +521,7 @@ ngx_http_read_discarded_request_body_han
     /* rc == NGX_AGAIN */
 
     if (ngx_handle_read_event(rev, 0) == NGX_ERROR) {
+        c->error = 1;
         ngx_http_finalize_request(r, rc);
         return;
     }