On 01/04/2009 06:28 PM, Rainer Jung wrote: > On 04.01.2009 17:57, Rainer Jung wrote: >> When the content file gets opened, its cleanup is correctly registered >> with the request pool. Later in core_filters.c at the end of function >> ap_core_output_filter() line 528 we call setaside_remaining_output(). > > ... > >> 2.2.x has a different structure, although I can also see two calls to >> ap_save_brigade() in ap_core_output_filter(), but they use different >> pools as new targets, namely a deferred_write_pool resp. input_pool. > > And the code already contains the appropriate hint: > > static void setaside_remaining_output(...) > { > ... > if (make_a_copy) { > /* XXX should this use a separate deferred write pool, like > * the original ap_core_output_filter? > */ > ap_save_brigade(f, &(ctx->buffered_bb), &bb, c->pool); > ... > } >
Thanks for the analysis and good catch. Maybe I have a look into this by tomorrow. Regards RĂ¼diger