From 88a8e9ff61bf8e213ed752cf656a40897d44fd55 Mon Sep 17 00:00:00 2001 From: Jim Jagielski Date: Thu, 16 May 2013 03:06:14 +0000 Subject: [PATCH] force subpool git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1483176 13f79535-47bb-0310-9956-ffa450edef68 --- modules/proxy/mod_proxy.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/proxy/mod_proxy.c b/modules/proxy/mod_proxy.c index 1c5b2badac..dfc41f06bc 100644 --- a/modules/proxy/mod_proxy.c +++ b/modules/proxy/mod_proxy.c @@ -38,6 +38,7 @@ APR_DECLARE_OPTIONAL_FN(char *, ssl_var_lookup, static const char * const proxy_id = "proxy"; apr_global_mutex_t *proxy_mutex = NULL; +apr_pool_t *proxy_subpool = NULL; /* * A Web proxy module. Stages: @@ -1196,7 +1197,7 @@ static void * create_proxy_config(apr_pool_t *p, server_rec *s) ps->badopt_set = 0; ps->source_address = NULL; ps->source_address_set = 0; - apr_pool_create_ex(&ps->pool, p, NULL, NULL); + ps->pool = proxy_subpool; return ps; } @@ -1258,7 +1259,7 @@ static void * merge_proxy_config(apr_pool_t *p, void *basev, void *overridesv) ps->proxy_status_set = overrides->proxy_status_set || base->proxy_status_set; ps->source_address = (overrides->source_address_set == 0) ? base->source_address : overrides->source_address; ps->source_address_set = overrides->source_address_set || base->source_address_set; - ps->pool = base->pool; + ps->pool = proxy_subpool; return ps; } static const char *set_source_address(cmd_parms *parms, void *dummy, @@ -2584,6 +2585,8 @@ static int proxy_pre_config(apr_pool_t *pconf, apr_pool_t *plog, return 500; /* An HTTP status would be a misnomer! */ } + apr_pool_create(&proxy_subpool, pconf); + apr_pool_tag(proxy_subpool, "proxy_pconf_subpool"); APR_OPTIONAL_HOOK(ap, status_hook, proxy_status_hook, NULL, NULL, APR_HOOK_MIDDLE); /* Reset workers count on gracefull restart */ -- 2.50.1