]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
HTTP_IN was attempting to process the PEEK mode. This threw off
authorGreg Stein <gstein@apache.org>
Mon, 8 Oct 2001 20:12:50 +0000 (20:12 +0000)
committerGreg Stein <gstein@apache.org>
Mon, 8 Oct 2001 20:12:50 +0000 (20:12 +0000)
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

modules/http/http_protocol.c

index ce93ad346ba7e8a17d23c8f3a64d37e35538c36b..0cce7655384dc14a2fa4fee520ea64ad021e6436 100644 (file)
@@ -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));