*) mod_http2: fixed a bug in flushing pending data on an already closed

connection that could lead to a busy loop, preventing the HTTP/2 session
     to close down successfully. Fixed PR 66624.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1910331 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Stefan Eissing
2023-06-09 15:02:21 +00:00
parent ba808b06f3
commit af4b652c80
2 changed files with 8 additions and 1 deletions

View File

@ -0,0 +1,4 @@
*) mod_http2: fixed a bug in flushing pending data on an already closed
connection that could lead to a busy loop, preventing the HTTP/2 session
to close down successfully. Fixed PR 66624.
[Stefan Eissing]

View File

@ -1281,8 +1281,11 @@ static apr_status_t h2_session_send(h2_session *session)
goto cleanup;
}
}
if (h2_c1_io_needs_flush(&session->io)) {
if (h2_c1_io_needs_flush(&session->io) ||
ngrv == NGHTTP2_ERR_WOULDBLOCK) {
rv = h2_c1_io_assure_flushed(&session->io);
if (rv != APR_SUCCESS)
goto cleanup;
pending = 0;
}
}