Here is a trivial patch that will allow proxy_handler to run the request_status hook if pre_request fails. This is necessary if all balncer members are in an error state, so that other modules get a chance to recover from the error. In my case, I force the cache to serve old data.

--- mod_proxy.c.orig    2005-09-28 10:24:26.102380589 -0400
+++ mod_proxy.c 2005-09-28 10:24:58.443016349 -0400
@@ -680,7 +680,7 @@
         /* 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;
+            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 */


--
Brian Akins
Lead Systems Engineer
CNN Internet Technologies

Reply via email to