On 05/21/2007 02:44 PM, Jim Jagielski wrote:
>
> The logic should be:
>
> 1. If a per-worker value is set, use that.
> 2. If not, then if a ProxyTimeout value is set, use that.
> 3. Otherwise, use Timeout
>
> +1 on fixing that :)
>
Digging somewhat deeper to actually do this I found the following
obstacle (hopefully I am wrong):
1. The right place to fix this is in ap_proxy_connect_backend
(around line 2215 in proxy_util.c).
2. We do not have a proxy_server_conf parameter in ap_proxy_connect_backend
like in ap_proxy_connect_to_backend.
3. ap_proxy_connect_backend is part of a public API (mod_proxy.h).
4. Fixing the prototype of ap_proxy_connect_backend to add a proxy_server_conf
parameter thus requires a major bump. Thus this would not be backportable
:-(.
I am not quite sure if we can do
void *sconf = s->module_config;
proxy_server_conf *conf = (proxy_server_conf *)
ap_get_module_config(sconf, &proxy_module);
to get the proxy_server_conf in ap_proxy_connect_backend as we are calling
ap_proxy_connect_backend from mod_proxy_ajp / mod_proxy_http and so the symbol
proxy_module might not be present there.
At the very least it looks like an uncool way of obtaining the proxy_server_conf
here.
Suggestions?
Regards
Rüdiger