From: Jim Jagielski Date: Thu, 23 Feb 2017 20:54:47 +0000 (+0000) Subject: Work on all servers, not just top-level... Each Vhost has its own context and watchdo... X-Git-Tag: 2.5.0-alpha~618 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2501a902429cf85bf76047ba4fcc1fe5069dae05;p=apache Work on all servers, not just top-level... Each Vhost has its own context and watchdog instance. We may need to revisit this and have just one instance git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1784203 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/proxy/mod_proxy_hcheck.c b/modules/proxy/mod_proxy_hcheck.c index 76e764d605..27434ae821 100644 --- a/modules/proxy/mod_proxy_hcheck.c +++ b/modules/proxy/mod_proxy_hcheck.c @@ -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; }