From 145b228530c364452c14d3184f1eee5e09b324aa Mon Sep 17 00:00:00 2001 From: Kasei Wang Date: Thu, 18 Jul 2024 17:43:25 +0400 Subject: [PATCH] HTTP/2: close connections initialized during graceful shutdown. In some rare cases, graceful shutdown may happen while initializing an HTTP/2 connection. Previously, such a connection ignored the shutdown and remained active. Now it is gracefully closed prior to processing any streams to eliminate the shutdown delay. --- src/http/v2/ngx_http_v2.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/http/v2/ngx_http_v2.c b/src/http/v2/ngx_http_v2.c index 0f5bd3de8..91a28b228 100644 --- a/src/http/v2/ngx_http_v2.c +++ b/src/http/v2/ngx_http_v2.c @@ -292,6 +292,11 @@ ngx_http_v2_init(ngx_event_t *rev) c->data = h2c; + if (ngx_exiting) { + ngx_http_v2_finalize_connection(h2c, NGX_HTTP_V2_NO_ERROR); + return; + } + rev->handler = ngx_http_v2_read_handler; c->write->handler = ngx_http_v2_write_handler;