summaryrefslogtreecommitdiff
path: root/modules/proxy
diff options
context:
space:
mode:
authorJim Jagielski <jim@apache.org>2022-10-11 13:20:11 +0000
committerJim Jagielski <jim@apache.org>2022-10-11 13:20:11 +0000
commitac04f2ff6b6590a6091b71b8c829e9b067b0fbbb (patch)
tree95cb4fa8c0768c0be848d7a90199fc9f23288c02 /modules/proxy
parent01defbcd9dd2463489fbf1f69ac73657cd2ba8f8 (diff)
downloadhttpd-ac04f2ff6b6590a6091b71b8c829e9b067b0fbbb.tar.gz
*) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302.
[Alessandro Cavaliere <alessandro.cavalier7 unibo.it>] git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1904518 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/proxy')
-rw-r--r--modules/proxy/mod_proxy.h2
-rw-r--r--modules/proxy/mod_proxy_hcheck.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/modules/proxy/mod_proxy.h b/modules/proxy/mod_proxy.h
index c15d0785c3..0df3dc2801 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 dd2740e81c..b99f3c1ae3 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) {