Code review is a fine thing...

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.

Allocating the worker from parent_pool is not good as workers appear/disappear 
during load changes and the parent pool will just continue to grow.

//Stefan

> Am 23.10.2015 um 12:13 schrieb Yann Ylavic <ylavic....@gmail.com>:
> 
> On Fri, Oct 23, 2015 at 10:42 AM, Stefan Eissing
> <stefan.eiss...@greenbytes.de> wrote:
>> 
>> In regard to https://bz.apache.org/bugzilla/show_bug.cgi?id=58524
> 
> We possibly need this too:
> 
> Index: modules/http2/h2_worker.c
> ===================================================================
> --- modules/http2/h2_worker.c    (revision 1710105)
> +++ modules/http2/h2_worker.c    (working copy)
> @@ -110,7 +110,7 @@ h2_worker *h2_worker_create(int id,
>             return NULL;
>         }
> 
> -        apr_thread_create(&w->thread, attr, execute, w, pool);
> +        apr_thread_create(&w->thread, attr, execute, w, parent_pool);
>     }
>     return w;
> }
> --
> 
> since the worker destroys itself in its own thread (pool == w->pool).
> 
> Also, where are the worker threads joined?

Reply via email to