Mercurial > hg > nginx
changeset 3181:36f6407817dc
clear r->lingering_close to disable preventively calling
ngx_http_set_lingering_close() while request cleanup
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 02 Oct 2009 11:32:56 +0000 |
parents | 0e420f3f8e18 |
children | 6ddaac3e0bf7 |
files | src/http/ngx_http_request_body.c |
diffstat | 1 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/ngx_http_request_body.c Fri Oct 02 11:30:47 2009 +0000 +++ b/src/http/ngx_http_request_body.c Fri Oct 02 11:32:56 2009 +0000 @@ -475,7 +475,10 @@ return NGX_HTTP_INTERNAL_SERVER_ERROR; } - if (ngx_http_read_discarded_request_body(r) != NGX_OK) { + if (ngx_http_read_discarded_request_body(r) == NGX_OK) { + r->lingering_close = 0; + + } else { r->count++; r->discard_body = 1; } @@ -508,6 +511,7 @@ if (timer <= 0) { r->discard_body = 0; + r->lingering_close = 0; ngx_http_finalize_request(r, 0); return; } @@ -521,6 +525,7 @@ if (rc == NGX_OK) { r->discard_body = 0; + r->lingering_close = 0; if (r->done) { ngx_http_finalize_request(r, 0);