You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by co...@apache.org on 2019/08/30 11:58:41 UTC
svn commit: r1866145 - in /httpd/httpd/trunk/modules/proxy: mod_proxy.h
mod_proxy_balancer.c proxy_util.c
Author: covener
Date: Fri Aug 30 11:58:41 2019
New Revision: 1866145
URL: http://svn.apache.org/viewvc?rev=1866145&view=rev
Log:
restore use of global mutex under !APR_HAS_THREADS
followup to r1852442 which appears to have been too agressive in wrapping
blocks with #if APR_HAS_THREADS. With !APR_HAS_THREADS a global mutex
is a proc mutex.
Modified:
httpd/httpd/trunk/modules/proxy/mod_proxy.h
httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c
httpd/httpd/trunk/modules/proxy/proxy_util.c
Modified: httpd/httpd/trunk/modules/proxy/mod_proxy.h
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy.h?rev=1866145&r1=1866144&r2=1866145&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/proxy/mod_proxy.h (original)
+++ httpd/httpd/trunk/modules/proxy/mod_proxy.h Fri Aug 30 11:58:41 2019
@@ -532,8 +532,8 @@ struct proxy_balancer {
proxy_hashes hash;
apr_time_t wupdated; /* timestamp of last change to workers list */
proxy_balancer_method *lbmethod;
-#if APR_HAS_THREADS
apr_global_mutex_t *gmutex; /* global lock for updating list of workers */
+#if APR_HAS_THREADS
apr_thread_mutex_t *tmutex; /* Thread lock for updating shm */
#endif
proxy_server_conf *sconf;
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=1866145&r1=1866144&r2=1866145&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c (original)
+++ httpd/httpd/trunk/modules/proxy/mod_proxy_balancer.c Fri Aug 30 11:58:41 2019
@@ -728,23 +728,19 @@ static void recalc_factors(proxy_balance
static apr_status_t lock_remove(void *data)
{
-#if APR_HAS_THREADS
int i;
-#endif
proxy_balancer *balancer;
server_rec *s = data;
void *sconf = s->module_config;
proxy_server_conf *conf = (proxy_server_conf *) ap_get_module_config(sconf, &proxy_module);
balancer = (proxy_balancer *)conf->balancers->elts;
-#if APR_HAS_THREADS
for (i = 0; i < conf->balancers->nelts; i++, balancer++) {
if (balancer->gmutex) {
apr_global_mutex_destroy(balancer->gmutex);
balancer->gmutex = NULL;
}
}
-#endif
return(0);
}
@@ -960,7 +956,6 @@ static int balancer_post_config(apr_pool
PROXY_STRNCPY(balancer->s->sname, sname); /* We know this will succeed */
balancer->max_workers = balancer->workers->nelts + balancer->growth;
-#if APR_HAS_THREADS
/* Create global mutex */
rv = ap_global_mutex_create(&(balancer->gmutex), NULL, balancer_mutex_type,
balancer->s->sname, s, pconf, 0);
@@ -970,7 +965,6 @@ static int balancer_post_config(apr_pool
balancer->s->sname);
return HTTP_INTERNAL_SERVER_ERROR;
}
-#endif
apr_pool_cleanup_register(pconf, (void *)s, lock_remove,
apr_pool_cleanup_null);
Modified: httpd/httpd/trunk/modules/proxy/proxy_util.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/proxy_util.c?rev=1866145&r1=1866144&r2=1866145&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/proxy/proxy_util.c (original)
+++ httpd/httpd/trunk/modules/proxy/proxy_util.c Fri Aug 30 11:58:41 2019
@@ -1276,7 +1276,6 @@ PROXY_DECLARE(apr_status_t) ap_proxy_ini
* for each balancer we need to init the global
* mutex and then attach to the shared worker shm
*/
-#if APR_HAS_THREADS
if (!balancer->gmutex) {
ap_log_error(APLOG_MARK, APLOG_CRIT, 0, s, APLOGNO(00919)
"no mutex %s", balancer->s->name);
@@ -1293,7 +1292,6 @@ PROXY_DECLARE(apr_status_t) ap_proxy_ini
balancer->s->name);
return rv;
}
-#endif
/* now attach */
storage->attach(&(balancer->wslot), balancer->s->sname, &size, &num, p);