diff --git a/misc/GNUmakefile b/misc/GNUmakefile index 2a34ae5..6938fe9 100644 --- a/misc/GNUmakefile +++ b/misc/GNUmakefile @@ -6,7 +6,7 @@ TEMP = tmp CC = cl OBJS = objs.msvc8 -OPENSSL = openssl-1.1.1c +OPENSSL = openssl-1.1.1d ZLIB = zlib-1.2.11 PCRE = pcre-8.43 diff --git a/src/http/v2/ngx_http_v2.c b/src/http/v2/ngx_http_v2.c index adcbf6d..55406fc 100644 --- a/src/http/v2/ngx_http_v2.c +++ b/src/http/v2/ngx_http_v2.c @@ -356,6 +356,11 @@ ngx_http_v2_read_handler(ngx_event_t *rev) if (c->close) { c->close = 0; + if (c->error) { + ngx_http_v2_finalize_connection(h2c, 0); + return; + } + if (!h2c->goaway) { h2c->goaway = 1; @@ -515,13 +520,12 @@ ngx_http_v2_send_output_queue(ngx_http_v2_connection_t *h2c) ngx_http_core_loc_conf_t *clcf; c = h2c->connection; + wev = c->write; if (c->error) { - return NGX_ERROR; + goto error; } - wev = c->write; - if (!wev->ready) { return NGX_AGAIN; }