From: Greg Stein Date: Mon, 8 Oct 2001 20:12:50 +0000 (+0000) Subject: HTTP_IN was attempting to process the PEEK mode. This threw off X-Git-Tag: 2.0.26~77 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=173d083ed0a14d4d170f6c990d00deebe14d2f35;p=thirdparty%2Fapache%2Fhttpd.git HTTP_IN was attempting to process the PEEK mode. This threw off check_pipeline_flush(), making it think another request was available (when it wasn't). Apache would avoid flushing the prior request and block on reading the next request. (of course, the client wasn't sending the next one, cuz it was still waiting for the results of the first one) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@91366 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/http/http_protocol.c b/modules/http/http_protocol.c index ce93ad346ba..0cce7655384 100644 --- a/modules/http/http_protocol.c +++ b/modules/http/http_protocol.c @@ -501,6 +501,10 @@ apr_status_t ap_http_filter(ap_filter_t *f, apr_bucket_brigade *b, ap_input_mode http_ctx_t *ctx = f->ctx; apr_status_t rv; + /* just get out of the way of this thing. */ + if (mode == AP_MODE_PEEK) + return ap_get_brigade(f->next, b, mode, readbytes); + if (!ctx) { const char *tenc, *lenp; f->ctx = ctx = apr_palloc(f->r->pool, sizeof(*ctx));