From: Stefan Eissing Date: Tue, 5 Jan 2016 15:39:56 +0000 (+0000) Subject: no more blocking reads for aborted sessions X-Git-Tag: 2.5.0-alpha~2457 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f4515c4ffcef0b9b69dcb0fed2e45229ad306fe1;p=thirdparty%2Fapache%2Fhttpd.git no more blocking reads for aborted sessions git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1723102 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/http2/h2_session.c b/modules/http2/h2_session.c index f0eb500aebf..4b483addea8 100644 --- a/modules/http2/h2_session.c +++ b/modules/http2/h2_session.c @@ -1628,7 +1628,7 @@ static apr_status_t h2_session_read(h2_session *session, int block, int loops) * We just pull at the filter chain to make it happen */ status = ap_get_brigade(c->input_filters, session->bbtmp, AP_MODE_READBYTES, - block? APR_BLOCK_READ : APR_NONBLOCK_READ, + (block && !session->aborted)? APR_BLOCK_READ : APR_NONBLOCK_READ, APR_BUCKET_BUFF_SIZE); /* get rid of any possible data we do not expect to get */ apr_brigade_cleanup(session->bbtmp); @@ -1672,6 +1672,10 @@ static apr_status_t h2_session_read(h2_session *session, int block, int loops) * status. */ return rstatus; } + + if (session->aborted) { + break; + } } return rstatus; }