> -----Ursprüngliche Nachricht-----
> Von: Joe Orton 
> Gesendet: Mittwoch, 25. Oktober 2006 17:59
> An: dev@httpd.apache.org
> Betreff: Re: svn commit: r467655 - in /httpd/httpd/trunk: 
> CHANGES docs/manual/mod/mod_cache.xml 
> modules/cache/mod_cache.c modules/cache/mod_cache.h
> 
> 

> Index: modules/cache/mod_disk_cache.c
> ===================================================================
> --- modules/cache/mod_disk_cache.c    (revision 450104)
> +++ modules/cache/mod_disk_cache.c    (working copy)

> @@ -998,12 +998,16 @@
>          dobj->file_size = 0;
>      }
>  
> -    for (e = APR_BRIGADE_FIRST(bb);
> -         e != APR_BRIGADE_SENTINEL(bb);
> -         e = APR_BUCKET_NEXT(e))
> -    {
> +    e = APR_BRIGADE_FIRST(bb);
> +    while (e != APR_BRIGADE_SENTINEL(bb) && !APR_BUCKET_IS_EOS(e)) {
>          const char *str;
>          apr_size_t length, written;
> +
> +        if (APR_BUCKET_IS_METADATA(e)) {
> +            e = APR_BUCKET_NEXT(e);
> +            continue;
> +        }
> +

Why ignore the metadata buckets? This means that flush buckets do not get passed
up the chain via the temporary brigade tmpbb. This is bad IMHO.
I guess the best thing we can do here is to add them to tmpbb before doing the
continue. Of course this means that all additions need to be done to the tail
of tmpbb.

Regards

Rüdiger

Reply via email to