> 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.

I checked how ap_proxy_get_worker() is used in other places and also what
is done with the pool inside and you are right. It really shouldn't be in a
persistent
pool. Corrected patch is attached.

> Hmm. I thought there was some introductory documentation, but I didn't
> find much. There is a short note at the end of
> http://apr.apache.org/docs/apr/1.4/apr__pools_8h.html . Basically, only
> the functions in http://apr.apache.org/docs/apr/1.4/group__apr__pools.html
> that are explicitly marked as thread safe may safely operate on a pool
> from different threads without locking.

Which is basically saying "only the create-sub-pool functions" ;-)

Attachment: fix_mod_proxy_thread_unsafety.patch
Description: Binary data

Reply via email to