> On Mar 19, 2016, at 5:05 PM, Yann Ylavic <ylavic....@gmail.com> wrote: > > > However, it seems that there are some paths where the worker threads > can allocate on (or use) the server config pool (ctx->p, a subpool of > pconf). > This (AFAICT) concerns hc_get_hcworker(), hc_determine_connection(), > hc_get_backend() (where backend->p == ctx->p ??) and hc_check_http(). > Shouldn't we either use a lock or create a subpool there? > Or maybe use ptemp but it looks more like a thread pool, whereas > ctx->p usages seem more related to process wide initialization (once? > via balancer-manager only?)... >
Hmmm... let me look into that, but because all this is running inside a single process, that should not be an issue. Even in those cases where we are using a threadpool inside that single watchdog process, there aren't paths, at least from what I can recall, which would require a mutex around that. However, it might be safer, I agree. And since this is done external to the actual process handling, performance isn't an issue, as long as we use a hcheck only mutex.