On Fri, Oct 23, 2015 at 12:23 PM, Stefan Eissing <stefan.eiss...@greenbytes.de> wrote: > > Hmm, I think the best way to tackle this is to transfer the worker into a > zombie set from worker_done(). Then in h2_workers_register(), which is called > regularly and often, join the threads and destroy the zombie workers.
That's fine, given that workers are created/destroyed regularly (didn't see that, h2_workers_create() seems to be called from child init hook only). Btw, you could also register the join logic in the worker pool (pre_cleanup), and simply call apr_pool_destroy(w->pool) in the zombie collector.