diff options
author | Stefan Eissing <icing@apache.org> | 2019-07-03 15:46:31 +0200 |
---|---|---|
committer | Stefan Eissing <icing@apache.org> | 2019-07-03 15:46:31 +0200 |
commit | 018caeddd81bc282acb2ed4df8fd0535cf4745f7 (patch) | |
tree | 0d3bc0102f8ce3ba513a10c0e24b7a42562f2129 /server | |
parent | * All backported (diff) | |
download | apache2-018caeddd81bc282acb2ed4df8fd0535cf4745f7.tar.xz apache2-018caeddd81bc282acb2ed4df8fd0535cf4745f7.zip |
*) mod_http2/mpm_event: Fixes the behaviour when a HTTP/2 connection has nothing
more to write with streams ongoing (flow control block). The timeout waiting
for the client to send WINODW_UPDATE was incorrectly KeepAliveTimeout and not
Timeout as it should be. Fixes PR 63534. [Yann Ylavic, Stefan Eissing]
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1862475 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'server')
-rw-r--r-- | server/mpm/event/event.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/server/mpm/event/event.c b/server/mpm/event/event.c index 4bb2d5bd0f..f9cc820b95 100644 --- a/server/mpm/event/event.c +++ b/server/mpm/event/event.c @@ -1153,10 +1153,11 @@ read_request: else if (ap_filter_should_yield(c->output_filters)) { pending = OK; } - if (pending == OK) { + if (pending == OK || (pending == DECLINED && + cs->pub.sense == CONN_SENSE_WANT_READ)) { /* Still in WRITE_COMPLETION_STATE: - * Set a write timeout for this connection, and let the - * event thread poll for writeability. + * Set a read/write timeout for this connection, and let the + * event thread poll for read/writeability. */ cs->queue_timestamp = apr_time_now(); notify_suspend(cs); |