You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by yl...@apache.org on 2018/01/31 13:55:53 UTC
svn commit: r1822800 - /httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c
Author: ylavic
Date: Wed Jan 31 13:55:53 2018
New Revision: 1822800
URL: http://svn.apache.org/viewvc?rev=1822800&view=rev
Log:
mod_proxy_balancer: follow up tp r1822509.
Use a unique balancer id per vhost for workers' slotmem too.
Modified:
httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c
Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c?rev=1822800&r1=1822799&r2=1822800&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c (original)
+++ httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c Wed Jan 31 13:55:53 2018
@@ -792,7 +792,7 @@ static int balancer_post_config(apr_pool
(s->defn_name ? s->defn_name : "?"),
s->defn_line_number,
(s->error_fname ? s->error_fname : DEFAULT_ERRORLOG));
- conf->id = apr_psprintf(pconf, "p%x",
+ conf->id = apr_psprintf(pconf, "balancers.p%x",
ap_proxy_hashfunc(id, PROXY_HASHFUNC_DEFAULT));
if (conf->bslot) {
/* Shared memory already created for this proxy_server_conf.
@@ -830,6 +830,7 @@ static int balancer_post_config(apr_pool
proxy_balancer_shared *bshm;
const char *sname;
unsigned int index;
+ char *balancer_id;
/* now that we have the right id, we need to redo the sname field */
ap_pstr2_alnum(pconf, balancer->s->name + sizeof(BALANCER_PREFIX) - 1,
@@ -875,13 +876,17 @@ static int balancer_post_config(apr_pool
return !OK;
}
+ balancer_id = apr_psprintf(ptemp, "%s.%s",
+ conf->id, balancer->s->sname);
+
/* create slotmem slots for workers */
- ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(01184) "Doing workers create: %s (%s), %d, %d [%u]",
- balancer->s->name, balancer->s->sname,
+ ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(01184)
+ "Doing workers create: %s (%s), %d, %d [%u]",
+ balancer->s->name, balancer_id,
(int)ALIGNED_PROXY_WORKER_SHARED_SIZE,
(int)balancer->max_workers, i);
- rv = storage->create(&new, balancer->s->sname,
+ rv = storage->create(&new, balancer_id,
ALIGNED_PROXY_WORKER_SHARED_SIZE,
balancer->max_workers, type, pconf);
if (rv != APR_SUCCESS) {