httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Jagielski <...@jaguNET.com>
Subject Re: [PATCH] mod_proxy run cleanup on balancer failure
Date Thu, 29 Sep 2005 19:49:54 GMT
+1

r.pluem@t-online.de 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..]
> 


-- 
=======================================================================
 Jim Jagielski   [|]   jim@jaguNET.com   [|]   http://www.jaguNET.com/
           "If you can dodge a wrench, you can dodge a ball."

Mime
View raw message