> Am 22.01.2017 um 22:22 schrieb Yann Ylavic <ylavic....@gmail.com>: > > @icing: Any special expectation in mod_h2 with regard to mpm workers > threads' lifetime (or keepalive connections that should stay alive for > the configured limit)? > I see that beam buckets make use of thread local storage/keys for > locking, and that they also handle the double cleanup like eoc buckets > did before 1.8.9, but can't follow all the paths yet. > Maybe something to look at there?
- With your help, mod_http2 1.8.9 simplified cleanup by triggering it by the connection pool clean up only. That helped. The bucket beam still register for pool cleanup which could be done without, but I think it's a good failsafe. - The thread local is used for recursive locking and, once the outermost lock is released, are supposed to be NULL again. This I would like to eliminate one day. - the special handling for apr_files is gone as well. That was a work-around when shared file buckets were transported through a bucket beam. No more. Shared file buckets are copied now. Only file buckets with refcount == 1 are beamed now. That makes the beam the sole controller of the lifetime and makes setasides on the master connection work without special handling. 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. Stefan Eissing <green/>bytes GmbH Hafenstrasse 16 48155 Münster www.greenbytes.de