Hi Yann,

Am 25.01.2017 um 01:41 schrieb Yann Ylavic:
> Hi Stefan,
> 
> On Tue, Jan 24, 2017 at 1:37 PM, Stefan Eissing
> <stefan.eiss...@greenbytes.de> wrote:
>> Yann, thanks for the patch. I agree that the cleanups need to be killed in 
>> the right place. Not certain if it was wrong before, but that part is not 
>> easy to see for every combination.
>>
>> I did some rework and hope this makes it more readable. If you find the time 
>> to look at it, feedback welcome.
> 
> I still fear that if beam->pool gets destroyed while both
> beam_send_cleanup() and beam_cleanup() are registered, the former is
> called twice.
> 
> I'd change:
>     if (safe_send) {
>         if (beam->send_pool && beam->send_pool != beam->pool) {
>             apr_pool_cleanup_kill(beam->send_pool, beam, beam_send_cleanup);
>         }
>         status = beam_send_cleanup(beam);
>     }
> 
> with:
>     if (safe_send) {
>         if (beam->send_pool) {
>             if (beam->send_pool != beam->pool) {
>                 apr_pool_cleanup_kill(beam->send_pool, beam, 
> beam_send_cleanup);
>             }
>             status = beam_send_cleanup(beam);
>         }
>     }
> 
> since in the above case beam_send_cleanup is run first and sets 
> send_pool=NULL.
> 
> Attached v3 with this only change w.r.t. v2.
> Otherwise, looks good to me, thanks!

this one also contains changes to the even mpm, mod_proxy and
mod_slotmem_shm. Is this expected?

Stefan
> 

Reply via email to