File apache2-bsc1208708-fix-passing-health-check-recover-worker-from-error-state.patch of Package apache2.27904

  *) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
     [Alessandro Cavaliere <alessandro.cavalier7 unibo.it>]
---
 modules/proxy/mod_proxy.h        |    2 ++
 modules/proxy/mod_proxy_hcheck.c |    2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)
--- a/modules/proxy/mod_proxy.h
+++ b/modules/proxy/mod_proxy.h
@@ -354,6 +354,8 @@ PROXY_WORKER_HC_FAIL )
 
 #define PROXY_WORKER_IS_HCFAILED(f)   ( (f)->s->status &  PROXY_WORKER_HC_FAIL )
 
+#define PROXY_WORKER_IS_ERROR(f)   ( (f)->s->status &  PROXY_WORKER_IN_ERROR )
+
 #define PROXY_WORKER_IS(f, b)   ( (f)->s->status & (b) )
 
 /* default worker retry timeout in seconds */
--- a/modules/proxy/mod_proxy_hcheck.c
+++ b/modules/proxy/mod_proxy_hcheck.c
@@ -909,7 +909,7 @@ static void * APR_THREAD_FUNC hc_check(a
                          (int)hc->s->method);
     }
     /* what state are we in ? */
-    else if (PROXY_WORKER_IS_HCFAILED(worker)) {
+    else if (PROXY_WORKER_IS_HCFAILED(worker) || PROXY_WORKER_IS_ERROR(worker)) {
         if (rv == APR_SUCCESS) {
             worker->s->pcount += 1;
             if (worker->s->pcount >= worker->s->passes) {
openSUSE Build Service is sponsored by