From e82559826625d742316a625eebdee203e6506e10 Mon Sep 17 00:00:00 2001 From: Valentin Bartenev Date: Wed, 29 Mar 2017 20:16:23 +0300 Subject: HTTP/2: fixed stream finalization. In order to finalize stream the error flag is set on fake connection and either "write" or "read" event handler is called. The read events of fake connections are always ready, but it's not the case with the write events. When the ready flag isn't set, the error flag can be not checked in some cases and as a result stream isn't finalized. Now the ready flag is explicilty set on write events for proper finalization in all cases. --- src/http/v2/ngx_http_v2.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/http') diff --git a/src/http/v2/ngx_http_v2.c b/src/http/v2/ngx_http_v2.c index ee9ceb0bd..714707b2c 100644 --- a/src/http/v2/ngx_http_v2.c +++ b/src/http/v2/ngx_http_v2.c @@ -4266,7 +4266,10 @@ ngx_http_v2_finalize_connection(ngx_http_v2_connection_t *h2c, if (stream->queued) { stream->queued = 0; + ev = fc->write; + ev->active = 0; + ev->ready = 1; } else { ev = fc->read; -- cgit