On Thu, Jan 19, 2017 at 10:41 PM, Stefan Eissing <stefan.eiss...@greenbytes.de> wrote: >> >> We really need to not destroy m->pool in its parent's cleanup. > > Hmm, why is that bad?
If the parent pool cleanup is called, that pool is being destroyed, which also destroys all its children pools (for each parent's child, apr_pool_destroy(child) is called by apr_pool_destroy(parent), implicitely). Here that's a pre_cleanup of session->pool (parent), so mplx->pool (child) will be destroyed after, but in any case child->pool is to be destroyed, you can't avoid that. > >> How about something like the attached instead, worth (other-)Stefan >> a try no? That's temporary, we probably could avoid that with a >> flag (re)set in a cleanup of mplx->pool itself... >> <h2_mplx_destroy.patch> > > Would work. But then we could just never destroy this directly, > because it will always disappear via the parent h2_session pool? Yes, we only need to cleanups things (or take actions) that are not cleaned implicitely by the pool itself.