HTTP/2: fixed send timer handling.

Checking for return value of c->send_chain() isn't sufficient since there
are data can be left in the SSL buffer.  Now the wew->ready flag is used
instead.

In particular, this fixed a connection leak in cases when all streams were
closed, but there's still some data to be sent in the SSL buffer and the
client forgot about the connection.
This commit is contained in:
Valentin Bartenev 2016-07-19 20:31:09 +03:00
parent ae4580e28e
commit 5a66aa321b
1 changed files with 1 additions and 1 deletions

View File

@ -549,7 +549,7 @@ ngx_http_v2_send_output_queue(ngx_http_v2_connection_t *h2c)
c->tcp_nodelay = NGX_TCP_NODELAY_SET;
}
if (cl) {
if (!wev->ready) {
ngx_add_timer(wev, clcf->send_timeout);
} else {