On 09/14/2009 10:29 PM, Paul Querna wrote: > On Mon, Sep 14, 2009 at 12:48 PM, Ruediger Pluem <rpl...@apache.org> wrote: >> >> On 09/14/2009 07:32 PM, Stefan Fritsch wrote: >>> On Sun, 13 Sep 2009, Ruediger Pluem wrote: >>>>>> But your patch is causing core dumps during the proxy tests when >>>>>> running the test suite :-(. >>>>>> I currently don't understand why. >>>>>> >>>>> Hmmm... either ctx->tmp_flush_bb is NULL or, since it was added in the >>>>> middle of the struct, you didn't do a make distclean 1st.... >>>> That is not the problem. I did a slightly modified patch that added it >>>> to the >>>> end. I suppose it has something to do with not matching pools or bucket >>>> allocators between bb and ctx->tmp_flush_bb. >>>> It fails on in the proxy case and in the proxy case we have some >>>> mixtures going >>>> on there regarding pools and bucket allocators caused by the pooled >>>> backend >>>> connections. >>> Yes, the lifetime of the brigade was wrong. The attached patch works >>> without segfaults. >> Thanks for the update. I committed a slightly modified version as >> r814807. It avoids the constant if check in the flush bucket case >> at the expense of always creating the brigade when setting up the >> context. >> > > regarding r814807, if you look in core_fitlers.c, there is a > brigade_move function that pre-dated apr_brigade_split_ex existing, I > think brigade_move could be converted to apr_brigade_split_ex.......
Good catch. They are nearly the same with the exception that apr_brigrade_split_ex cleans up brigade a where the tail ends if it is not empty at the beginning, but this is IHMO a benefit. Regards RĂ¼diger