From: Jim Jagielski Date: Tue, 11 Oct 2022 13:20:11 +0000 (+0000) Subject: *) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302. X-Git-Tag: 2.5.0-alpha2-ci-test-only~217 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ac04f2ff6b6590a6091b71b8c829e9b067b0fbbb;p=thirdparty%2Fapache%2Fhttpd.git *) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302. [Alessandro Cavaliere ] git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904518 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index fc307449358..b0b1d5e83da 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ -*- coding: utf-8 -*- Changes with Apache 2.5.1 + *) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302. + [Alessandro Cavaliere ] + *) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300. [Alessandro Cavaliere ] diff --git a/modules/proxy/mod_proxy.h b/modules/proxy/mod_proxy.h index c15d0785c37..0df3dc28013 100644 --- a/modules/proxy/mod_proxy.h +++ b/modules/proxy/mod_proxy.h @@ -360,6 +360,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 */ diff --git a/modules/proxy/mod_proxy_hcheck.c b/modules/proxy/mod_proxy_hcheck.c index dd2740e81c2..b99f3c1ae30 100644 --- a/modules/proxy/mod_proxy_hcheck.c +++ b/modules/proxy/mod_proxy_hcheck.c @@ -927,7 +927,7 @@ static void * APR_THREAD_FUNC hc_check(apr_thread_t *thread, void *b) (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) {