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

Attachment: 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

Reply via email to