]> granicus.if.org Git - apache/commitdiff
STOPPED workers are never retried... Disabled can be.
authorJim Jagielski <jim@apache.org>
Wed, 3 Feb 2016 12:52:29 +0000 (12:52 +0000)
committerJim Jagielski <jim@apache.org>
Wed, 3 Feb 2016 12:52:29 +0000 (12:52 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1728304 13f79535-47bb-0310-9956-ffa450edef68

docs/log-message-tags/next-number
modules/proxy/proxy_util.c

index 0fb898f7bb1bebbb323ffdf5f34e90cac472ceb0..6de8f79ba43037715eca4401d0ddd36c5370c710 100644 (file)
@@ -1 +1 @@
-3305
+3306
index c6b03fd3f76db3a1e2e682ff4a7dccffbbf56de3..35e67f40d0badb5de6daee5e71965bc6935c77f6 100644 (file)
@@ -1946,6 +1946,12 @@ static int ap_proxy_retry_worker(const char *proxy_function, proxy_worker *worke
         server_rec *s)
 {
     if (worker->s->status & PROXY_WORKER_IN_ERROR) {
+        if (PROXY_WORKER_IS(worker, PROXY_WORKER_STOPPED)) {
+            ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(3305)
+                         "%s: Won't retry worker (%s): stopped",
+                         proxy_function, worker->s->hostname);
+            return DECLINED;
+        }
         if ((worker->s->status & PROXY_WORKER_IGNORE_ERRORS)
             || apr_time_now() > worker->s->error_time + worker->s->retry) {
             ++worker->s->retries;