diff options
author | Igor Sysoev <igor@sysoev.ru> | 2007-03-19 13:20:15 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2007-03-19 13:20:15 +0000 |
commit | 4ddeff4956a93efce34105588153f591f3fcfcbc (patch) | |
tree | 63e5d49a946d447ca0783647d939fe9bdf173b9e /src/http/ngx_http_request.c | |
parent | e1f43ce292b0ca463748e13b067ea36bbe8ca9bc (diff) | |
download | nginx-4ddeff4956a93efce34105588153f591f3fcfcbc.tar.gz nginx-4ddeff4956a93efce34105588153f591f3fcfcbc.zip |
close keep-alive connections in the shuting down processes
Diffstat (limited to 'src/http/ngx_http_request.c')
-rw-r--r-- | src/http/ngx_http_request.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c index 96286597b..afc1d644d 100644 --- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c @@ -2032,6 +2032,8 @@ ngx_http_set_keepalive(ngx_http_request_t *r) r->http_state = NGX_HTTP_KEEPALIVE_STATE; #endif + c->idle = 1; + if (rev->ready) { ngx_http_keepalive_handler(rev); } @@ -2050,7 +2052,7 @@ ngx_http_keepalive_handler(ngx_event_t *rev) ngx_log_debug0(NGX_LOG_DEBUG_HTTP, c->log, 0, "http keepalive handler"); - if (rev->timedout) { + if (rev->timedout || c->close) { ngx_http_close_connection(c); return; } @@ -2139,6 +2141,8 @@ ngx_http_keepalive_handler(ngx_event_t *rev) c->log->handler = ngx_http_log_error; c->log->action = "reading client request line"; + c->idle = 0; + ngx_http_init_request(rev); } |