Mercurial > hg > nginx
changeset 7805:ade8160120c1
HTTP/2: improved handling of "keepalive_timeout 0".
Without explicit handling, a zero timer was actually added, leading to
multiple unneeded syscalls. Further, sending GOAWAY frame early might
be beneficial for clients.
Reported by Sergey Kandaurov.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Fri, 26 Mar 2021 01:44:57 +0300 |
parents | 4a9d28f8f39e |
children | 2ed5d03c2d90 |
files | src/http/v2/ngx_http_v2.c |
diffstat | 1 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/v2/ngx_http_v2.c Wed Mar 24 14:03:33 2021 +0300 +++ b/src/http/v2/ngx_http_v2.c Fri Mar 26 01:44:57 2021 +0300 @@ -1368,7 +1368,9 @@ clcf = ngx_http_get_module_loc_conf(h2c->http_connection->conf_ctx, ngx_http_core_module); - if (h2c->connection->requests >= clcf->keepalive_requests) { + if (clcf->keepalive_timeout == 0 + || h2c->connection->requests >= clcf->keepalive_requests) + { h2c->goaway = 1; if (ngx_http_v2_send_goaway(h2c, NGX_HTTP_V2_NO_ERROR) == NGX_ERROR) {