1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-08 15:02:10 +03:00

* Always retrieve conditional function. static variable might contain garbage if module was reloaded in a static build.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1836383 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Ruediger Pluem
2018-07-20 19:36:01 +00:00
parent 6ab482e977
commit 2acd655200
3 changed files with 14 additions and 20 deletions

View File

@@ -273,13 +273,11 @@ static proxy_worker *find_best_hb(proxy_balancer *balancer,
ap_get_module_config(r->server->module_config, ap_get_module_config(r->server->module_config,
&lbmethod_heartbeat_module); &lbmethod_heartbeat_module);
ap_proxy_retry_worker_fn =
APR_RETRIEVE_OPTIONAL_FN(ap_proxy_retry_worker);
if (!ap_proxy_retry_worker_fn) { if (!ap_proxy_retry_worker_fn) {
ap_proxy_retry_worker_fn = /* can only happen if mod_proxy isn't loaded */
APR_RETRIEVE_OPTIONAL_FN(ap_proxy_retry_worker); return NULL;
if (!ap_proxy_retry_worker_fn) {
/* can only happen if mod_proxy isn't loaded */
return NULL;
}
} }
apr_pool_create(&tpool, r->pool); apr_pool_create(&tpool, r->pool);

View File

@@ -857,14 +857,12 @@ static int balancer_post_config(apr_pool_t *pconf, apr_pool_t *plog,
return OK; return OK;
} }
ap_proxy_retry_worker_fn =
APR_RETRIEVE_OPTIONAL_FN(ap_proxy_retry_worker);
if (!ap_proxy_retry_worker_fn) { if (!ap_proxy_retry_worker_fn) {
ap_proxy_retry_worker_fn = ap_log_error(APLOG_MARK, APLOG_EMERG, 0, s, APLOGNO(02230)
APR_RETRIEVE_OPTIONAL_FN(ap_proxy_retry_worker); "mod_proxy must be loaded for mod_proxy_balancer");
if (!ap_proxy_retry_worker_fn) { return !OK;
ap_log_error(APLOG_MARK, APLOG_EMERG, 0, s, APLOGNO(02230)
"mod_proxy must be loaded for mod_proxy_balancer");
return !OK;
}
} }
/* /*

View File

@@ -2171,14 +2171,12 @@ static int proxy_http_post_config(apr_pool_t *pconf, apr_pool_t *plog,
return OK; return OK;
} }
ap_proxy_clear_connection_fn =
APR_RETRIEVE_OPTIONAL_FN(ap_proxy_clear_connection);
if (!ap_proxy_clear_connection_fn) { if (!ap_proxy_clear_connection_fn) {
ap_proxy_clear_connection_fn = ap_log_error(APLOG_MARK, APLOG_EMERG, 0, s, APLOGNO(02477)
APR_RETRIEVE_OPTIONAL_FN(ap_proxy_clear_connection); "mod_proxy must be loaded for mod_proxy_http");
if (!ap_proxy_clear_connection_fn) { return !OK;
ap_log_error(APLOG_MARK, APLOG_EMERG, 0, s, APLOGNO(02477)
"mod_proxy must be loaded for mod_proxy_http");
return !OK;
}
} }
return OK; return OK;