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


Reply via email to