]> granicus.if.org Git - apache/commitdiff
Work on all servers, not just top-level... Each Vhost has its own context and watchdo...
authorJim Jagielski <jim@apache.org>
Thu, 23 Feb 2017 20:54:47 +0000 (20:54 +0000)
committerJim Jagielski <jim@apache.org>
Thu, 23 Feb 2017 20:54:47 +0000 (20:54 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1784203 13f79535-47bb-0310-9956-ffa450edef68

modules/proxy/mod_proxy_hcheck.c

index 76e764d605dac296f9bfe9d40fdb5435b59787e5..27434ae821942892a075e7697698b22075f496eb 100644 (file)
@@ -960,7 +960,6 @@ static apr_status_t hc_watchdog_callback(int state, void *data,
                         workers++;
                     }
                 }
-                /* s = s->next; */
             }
             break;
 
@@ -997,30 +996,33 @@ static int hc_post_config(apr_pool_t *p, apr_pool_t *plog,
                      "mod_watchdog is required");
         return !OK;
     }
-    ctx = (sctx_t *) ap_get_module_config(s->module_config,
-                                          &proxy_hcheck_module);
-
-    rv = hc_watchdog_get_instance(&ctx->watchdog,
-                                  HCHECK_WATHCHDOG_NAME,
-                                  0, 1, p);
-    if (rv) {
-        ap_log_error(APLOG_MARK, APLOG_CRIT, rv, s, APLOGNO(03263)
-                     "Failed to create watchdog instance (%s)",
-                     HCHECK_WATHCHDOG_NAME);
-        return !OK;
-    }
-    rv = hc_watchdog_register_callback(ctx->watchdog,
-            apr_time_from_sec(HCHECK_WATHCHDOG_INTERVAL),
-            ctx,
-            hc_watchdog_callback);
-    if (rv) {
-        ap_log_error(APLOG_MARK, APLOG_CRIT, rv, s, APLOGNO(03264)
-                     "Failed to register watchdog callback (%s)",
-                     HCHECK_WATHCHDOG_NAME);
-        return !OK;
+    while (s) {
+        ctx = (sctx_t *) ap_get_module_config(s->module_config,
+                                              &proxy_hcheck_module);
+
+        rv = hc_watchdog_get_instance(&ctx->watchdog,
+                                      HCHECK_WATHCHDOG_NAME,
+                                      0, 1, p);
+        if (rv) {
+            ap_log_error(APLOG_MARK, APLOG_CRIT, rv, s, APLOGNO(03263)
+                         "Failed to create watchdog instance (%s)",
+                         HCHECK_WATHCHDOG_NAME);
+            return !OK;
+        }
+        rv = hc_watchdog_register_callback(ctx->watchdog,
+                apr_time_from_sec(HCHECK_WATHCHDOG_INTERVAL),
+                ctx,
+                hc_watchdog_callback);
+        if (rv) {
+            ap_log_error(APLOG_MARK, APLOG_CRIT, rv, s, APLOGNO(03264)
+                         "Failed to register watchdog callback (%s)",
+                         HCHECK_WATHCHDOG_NAME);
+            return !OK;
+        }
+        ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(03265)
+                     "watchdog callback registered (%s)", HCHECK_WATHCHDOG_NAME);
+        s = s->next;
     }
-    ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(03265)
-                 "watchdog callback registered (%s)", HCHECK_WATHCHDOG_NAME);
     return OK;
 }