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 >