]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Change to Experimental module to avoid an ever-expanding brigade,
authorWilliam A. Rowe Jr <wrowe@apache.org>
Fri, 28 Sep 2007 05:01:44 +0000 (05:01 +0000)
committerWilliam A. Rowe Jr <wrowe@apache.org>
Fri, 28 Sep 2007 05:01:44 +0000 (05:01 +0000)
absorb the buckets we've consumed.  Better ways to do this lurk here.

Backport: r580206

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@580219 13f79535-47bb-0310-9956-ffa450edef68

modules/experimental/mod_case_filter.c

index 04aeb7034898423e19bb222118a7eb373eab625c..be64f2fb0c22e0758764114eba770ca27df6ba1f 100644 (file)
@@ -91,7 +91,16 @@ static apr_status_t CaseFilterOutFilter(ap_filter_t *f,
         APR_BRIGADE_INSERT_TAIL(pbbOut,pbktOut);
         }
 
-    /* XXX: is there any advantage to passing a brigade for each bucket? */
+    /* Q: is there any advantage to passing a brigade for each bucket? 
+     * A: obviously, it can cut down server resource consumption, if this
+     * experimental module was fed a file of 4MB, it would be using 8MB for
+     * the 'read' buckets and the 'write' buckets.
+     *
+     * Note it is more efficient to consume (destroy) each bucket as it's
+     * processed above than to do a single cleanup down here.  In any case,
+     * don't let our caller pass the same buckets to us, twice;
+     */
+    ap_briade_cleanup(pbbIn);
     return ap_pass_brigade(f->next,pbbOut);
     }