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. Cheers, Stefan
h2_beams_cleanup_v2.diff
Description: Binary data
> Am 23.01.2017 um 23:37 schrieb Yann Ylavic <[email protected]>: > > Hi Stefan, > > On Mon, Jan 23, 2017 at 9:54 PM, Stefan Eissing > <[email protected]> wrote: >> >> I am not aware of any special expectations now. Almost all is triggered by >> (parent) pool cleanups and is therefore more deterministic than before. The >> only explicit destroy is done on finished streams and slave connections no >> longer used. When the master conn disappears, all is deallocated as the >> force wills it. > > I wonder if the attached patch makes sense. > If beam_{recv,send}_cleanup() are to be executed on (parent) pool > destroy, there will be before beam_cleanup() itelf (which also calls > beam_send_cleanup() explicitly), so it should avoid potential a double > cleanup in this case. > > WDYT? > <h2_bucket_beam.diff> Stefan Eissing <green/>bytes GmbH Hafenstrasse 16 48155 Münster www.greenbytes.de
