From 27b314b4e6130d18e8dd6364e5db8bfb2f52ad4b Mon Sep 17 00:00:00 2001 From: Jim Jagielski Date: Thu, 17 Oct 2013 16:52:04 +0000 Subject: [PATCH] move pool creation to the single instance when we need it... but be pool aware anyway, just in case. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1533153 13f79535-47bb-0310-9956-ffa450edef68 --- modules/proxy/proxy_util.c | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c index 3ebe00142e..3210c21a90 100644 --- a/modules/proxy/proxy_util.c +++ b/modules/proxy/proxy_util.c @@ -1495,21 +1495,11 @@ static apr_status_t connection_destructor(void *resource, void *params, PROXY_DECLARE(char *) ap_proxy_worker_name(apr_pool_t *p, proxy_worker *worker) { - int rv; - apr_uri_t uri; - apr_pool_t *pool = p; - if (!(*worker->s->uds_path)) { + if (!(*worker->s->uds_path) || !p) { + /* just in case */ return worker->s->name; } - if (!pool) { - /* ugly */ - apr_pool_create(&pool, ap_server_conf->process->pool); - if (!pool) { - /* something is better than nothing :) */ - return worker->s->name; - } - } - return apr_pstrcat(pool, "unix:", worker->s->uds_path, "|", worker->s->name, NULL); + return apr_pstrcat(p, "unix:", worker->s->uds_path, "|", worker->s->name, NULL); } PROXY_DECLARE(proxy_worker *) ap_proxy_get_worker(apr_pool_t *p, @@ -1741,9 +1731,16 @@ PROXY_DECLARE(apr_status_t) ap_proxy_share_worker(proxy_worker *worker, proxy_wo } worker->s = shm; worker->s->index = i; - ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, ap_server_conf, APLOGNO(02338) - "%s shm[%d] (0x%pp) for worker: %s", action, i, (void *)shm, - ap_proxy_worker_name(NULL, worker)); + { + apr_pool_t *pool; + apr_pool_create(&pool, ap_server_conf->process->pool); + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, ap_server_conf, APLOGNO(02338) + "%s shm[%d] (0x%pp) for worker: %s", action, i, (void *)shm, + ap_proxy_worker_name(pool, worker)); + if (pool) { + apr_pool_destroy(pool); + } + } return APR_SUCCESS; } -- 2.40.0