From: William A. Rowe Jr Date: Fri, 28 Sep 2007 05:01:56 +0000 (+0000) Subject: Change to Experimental module to avoid an ever-expanding brigade, X-Git-Tag: 2.0.62~92 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9ce21569fbb6dcbb065e6c5ff21efb26d78832a5;p=thirdparty%2Fapache%2Fhttpd.git Change to Experimental module to avoid an ever-expanding brigade, 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 --- diff --git a/modules/experimental/mod_case_filter.c b/modules/experimental/mod_case_filter.c index b14eb84cf05..1ee6abc5b2c 100644 --- a/modules/experimental/mod_case_filter.c +++ b/modules/experimental/mod_case_filter.c @@ -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); }