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) {