Mercurial > hg > nginx-quic
changeset 6332:78b4e10b4367
Upstream: don't keep connections on early responses (ticket #669).
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 17 Dec 2015 16:39:15 +0300 |
parents | ceeb1edb3018 |
children | 9d06921918af |
files | src/http/modules/ngx_http_upstream_keepalive_module.c src/http/ngx_http_upstream.c src/http/ngx_http_upstream.h |
diffstat | 3 files changed, 8 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/modules/ngx_http_upstream_keepalive_module.c +++ b/src/http/modules/ngx_http_upstream_keepalive_module.c @@ -302,6 +302,10 @@ ngx_http_upstream_free_keepalive_peer(ng goto invalid; } + if (!u->request_body_sent) { + goto invalid; + } + if (ngx_terminate || ngx_exiting) { goto invalid; }
--- a/src/http/ngx_http_upstream.c +++ b/src/http/ngx_http_upstream.c @@ -1441,6 +1441,7 @@ ngx_http_upstream_connect(ngx_http_reque } u->request_sent = 0; + u->request_body_sent = 0; if (rc == NGX_AGAIN) { ngx_add_timer(c->write, u->conf->connect_timeout); @@ -1825,6 +1826,8 @@ ngx_http_upstream_send_request(ngx_http_ /* rc == NGX_OK */ + u->request_body_sent = 1; + if (c->write->timer_set) { ngx_del_timer(c->write); }