# HG changeset patch # User Igor Sysoev # Date 1255968417 0 # Node ID 7fc06314c684e5f925f59a6cdb7c3d994a40a75d # Parent e67d000b53378e5b00e4cda6558b4ad64e6461ee fix ngx_http_finalize_request() code after a body has been discarded diff --git a/src/http/ngx_http_request_body.c b/src/http/ngx_http_request_body.c --- a/src/http/ngx_http_request_body.c +++ b/src/http/ngx_http_request_body.c @@ -503,7 +503,7 @@ ngx_http_read_discarded_request_body_han if (rev->timedout) { c->timedout = 1; c->error = 1; - ngx_http_finalize_request(r, 0); + ngx_http_finalize_request(r, NGX_ERROR); return; } @@ -513,7 +513,7 @@ ngx_http_read_discarded_request_body_han if (timer <= 0) { r->discard_body = 0; r->lingering_close = 0; - ngx_http_finalize_request(r, 0); + ngx_http_finalize_request(r, NGX_ERROR); return; } @@ -524,14 +524,9 @@ ngx_http_read_discarded_request_body_han rc = ngx_http_read_discarded_request_body(r); if (rc == NGX_OK) { - r->discard_body = 0; r->lingering_close = 0; - - if (r->done) { - ngx_http_finalize_request(r, 0); - } - + ngx_http_finalize_request(r, NGX_DONE); return; } @@ -539,7 +534,7 @@ ngx_http_read_discarded_request_body_han if (ngx_handle_read_event(rev, 0) != NGX_OK) { c->error = 1; - ngx_http_finalize_request(r, rc); + ngx_http_finalize_request(r, NGX_ERROR); return; }