Sorry to jump over STATUS on this experimental change; I was seeing
growing loop as I attempted to upcase a proxied back end response of
LICENSE.txt, which repeated the opening part of the document over and
over as it grew to the full response (from 39kb up to some 105kb).

Does anyone see an issue with this backport (and does anyone want to
put in the effort to do it well ;-)

Bill

[EMAIL PROTECTED] wrote:
> Author: wrowe
> Date: Thu Sep 27 22:01:56 2007
> New Revision: 580220
> 
> URL: http://svn.apache.org/viewvc?rev=580220&view=rev
> Log:
> 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
> 
> Modified:
>     httpd/httpd/branches/2.0.x/modules/experimental/mod_case_filter.c
> 
> Modified: httpd/httpd/branches/2.0.x/modules/experimental/mod_case_filter.c
> URL: 
> http://svn.apache.org/viewvc/httpd/httpd/branches/2.0.x/modules/experimental/mod_case_filter.c?rev=580220&r1=580219&r2=580220&view=diff
> ==============================================================================
> --- httpd/httpd/branches/2.0.x/modules/experimental/mod_case_filter.c 
> (original)
> +++ httpd/httpd/branches/2.0.x/modules/experimental/mod_case_filter.c Thu Sep 
> 27 22:01:56 2007
> @@ -89,7 +89,16 @@
>       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);
>      }
>  
> 
> 
> 
> 

Reply via email to