aboutsummaryrefslogtreecommitdiff
path: root/src/http/ngx_http_request.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2007-03-19 13:20:15 +0000
committerIgor Sysoev <igor@sysoev.ru>2007-03-19 13:20:15 +0000
commit4ddeff4956a93efce34105588153f591f3fcfcbc (patch)
tree63e5d49a946d447ca0783647d939fe9bdf173b9e /src/http/ngx_http_request.c
parente1f43ce292b0ca463748e13b067ea36bbe8ca9bc (diff)
downloadnginx-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.c6
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);
}