Can we get a vote on this? Jim gave it +1. So do I. I would like this
to be in a beta "release." This fix is important to our environment.
r.pluem@... wrote:
>
> Jim Jagielski wrote:
>
>>Sorry :)
>
>
> Thanks. So I guess this should be fine:
>
> Index: mod_proxy.c
> ===================================================================
> --- mod_proxy.c (Revision 280422)
> +++ mod_proxy.c (Arbeitskopie)
> @@ -679,8 +679,22 @@
> char *url = uri;
> /* Try to obtain the most suitable worker */
> access_status = ap_proxy_pre_request(&worker, &balancer, r, conf,
&url);
> - if (access_status != OK)
> - return access_status;
> + if (access_status != OK) {
> + /*
> + * Only return if access_status is not HTTP_SERVICE_UNAVAILABLE
> + * This gives other modules the chance to hook into the
> + * request_status hook and decide what to do in this situation.
> + */
> + if (access_status != HTTP_SERVICE_UNAVAILABLE)
> + return access_status;
> + /*
> + * Ensure that balancer is NULL if worker is NULL to prevent
> + * potential problems in the post_request hook.
> + */
> + if (!worker)
> + balancer = NULL;
> + goto cleanup;
> + }
> if (balancer && balancer->max_attempts_set && !max_attempts)
> max_attempts = balancer->max_attempts;
> /* firstly, try a proxy, unless a NoProxy directive is active */
>
> [..cut..]
>
--
Brian Akins
Lead Systems Engineer
CNN Internet Technologies