On Mon, 6 May 2013, Thomas Eckert wrote:
> Based on Stefan's reply I replaced mod_proxy's config pool with a sub-pool
> and wrapped a mutex around the pool usage. Basic testing went well but I
> have to do some more thorough parallel testing.

Nice.

> One thing which had me confused was the balancers. In
> ap_proxy_define_balancer() they are handed a pointer to mod_proxy's config
> (via balancer->sconf). So I also had to check whether the pool is ever
> accessed via a balancer but to my surprise that pointer is never used at
> all. I suggest removing the balancers' reference to mod_proxy's
> configuration pool, since that makes managing that pool a lot eaiser in the
> future. It's really only 2 lines that have to be edited.

I am not very familiar with the mod_proxy internals. I would have to do 
some more thorough code reading to comment on this, but don't have the 
time at the moment.

However, looking at your patch, having to lock the mutex for 
ap_proxy_get_worker() looks wrong. I think it should be passed r->pool 
instead of conf->pool.

Apr has some pool debugging functionality that can also check which thread 
accesses which pool. Unfortunately, this does not quite work with the 
threaded mpms, yet. But I hope I will make some progress on this in the 
next weeks.

Cheers,
Stefan

Reply via email to