]> granicus.if.org Git - apache/commitdiff
* Try first if we find any "recoverable" workers before we force them to
authorRuediger Pluem <rpluem@apache.org>
Thu, 15 Jan 2009 13:59:11 +0000 (13:59 +0000)
committerRuediger Pluem <rpluem@apache.org>
Thu, 15 Jan 2009 13:59:11 +0000 (13:59 +0000)
  recover.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@734710 13f79535-47bb-0310-9956-ffa450edef68

modules/proxy/mod_proxy_balancer.c

index 3795a5eac767ffc1a6cc2f17ab8a84a5183c008b..a4424bc91624ae4254707cf1ac4b20f111bc6be9 100644 (file)
@@ -407,7 +407,15 @@ static void force_recovery(proxy_balancer *balancer, server_rec *s)
     for (i = 0; i < balancer->workers->nelts; i++, worker++) {
         if (!(worker->s->status & PROXY_WORKER_IN_ERROR)) {
             ok = 1;
-            break;    
+            break;
+        }
+        else {
+            /* Try if we can recover */
+            ap_proxy_retry_worker("BALANCER", worker, s);
+            if (!(worker->s->status & PROXY_WORKER_IN_ERROR)) {
+                ok = 1;
+                break;
+            }
         }
     }
     if (!ok) {