From: Jim Jagielski Date: Wed, 7 Feb 2007 14:26:37 +0000 (+0000) Subject: Further refinement for PR41056 / PR 19954 (mostly-fixed in r480135.) X-Git-Tag: 2.3.0~1912 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3b048c1aeb21212853feca432ce1ab3881ab11f0;p=thirdparty%2Fapache%2Fhttpd.git Further refinement for PR41056 / PR 19954 (mostly-fixed in r480135.) We assume that a successful read but an empty brigade is NOT cause for EAGAIN. Testing may or may not confirm this assumption, in which case that test may be required as well. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@504559 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/http/http_filters.c b/modules/http/http_filters.c index 75d84cc89a7..a28fbafc1ed 100644 --- a/modules/http/http_filters.c +++ b/modules/http/http_filters.c @@ -295,6 +295,10 @@ apr_status_t ap_http_filter(ap_filter_t *f, apr_bucket_brigade *b, rv = ap_get_brigade(f->next, bb, AP_MODE_GETLINE, block, 0); apr_brigade_cleanup(bb); + if (block == APR_NONBLOCK_READ && + (APR_STATUS_IS_EAGAIN(rv))) { + return APR_EAGAIN; + } } else { rv = APR_SUCCESS; }