]> 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:56 +0000 (05:01 +0000)
committerWilliam A. Rowe Jr <wrowe@apache.org>
Fri, 28 Sep 2007 05:01:56 +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.0.x@580220 13f79535-47bb-0310-9956-ffa450edef68

modules/experimental/mod_case_filter.c

index b14eb84cf05af041a6ceb13df34cd4e8475d286b..1ee6abc5b2c9715c1f906505327f4d6ed06c9785 100644 (file)
@@ -89,7 +89,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);
     }