[nginx] HTTP/2: reuse of connections with incomplete frames.
Maxim Dounin
mdounin at mdounin.ru
Thu Feb 11 19:57:24 UTC 2021
details: https://hg.nginx.org/nginx/rev/fc536dcdbbf7
branches:
changeset: 7768:fc536dcdbbf7
user: Maxim Dounin <mdounin at mdounin.ru>
date: Thu Feb 11 21:52:12 2021 +0300
description:
HTTP/2: reuse of connections with incomplete frames.
Prodded by Taewoo Kim.
diffstat:
src/http/v2/ngx_http_v2.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diffs (32 lines):
diff -r 6d98f29867e8 -r fc536dcdbbf7 src/http/v2/ngx_http_v2.c
--- a/src/http/v2/ngx_http_v2.c Thu Feb 11 21:52:11 2021 +0300
+++ b/src/http/v2/ngx_http_v2.c Thu Feb 11 21:52:12 2021 +0300
@@ -362,6 +362,11 @@ ngx_http_v2_read_handler(ngx_event_t *re
return;
}
+ if (!h2c->processing && !h2c->pushing) {
+ ngx_http_v2_finalize_connection(h2c, NGX_HTTP_V2_NO_ERROR);
+ return;
+ }
+
if (!h2c->goaway) {
h2c->goaway = 1;
@@ -668,6 +673,8 @@ ngx_http_v2_handle_connection(ngx_http_v
return;
}
+ ngx_reusable_connection(c, 1);
+
h2scf = ngx_http_get_module_srv_conf(h2c->http_connection->conf_ctx,
ngx_http_v2_module);
if (h2c->state.incomplete) {
@@ -689,7 +696,6 @@ ngx_http_v2_handle_connection(ngx_http_v
#endif
c->destroyed = 1;
- ngx_reusable_connection(c, 1);
c->write->handler = ngx_http_empty_handler;
c->read->handler = ngx_http_v2_idle_handler;
More information about the nginx-devel
mailing list