> -----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