diff --git a/modules/proxy/mod_proxy.c b/modules/proxy/mod_proxy.c index dfc41f06bc..1c5b2badac 100644 --- a/modules/proxy/mod_proxy.c +++ b/modules/proxy/mod_proxy.c @@ -38,7 +38,6 @@ 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: @@ -1197,7 +1196,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; - ps->pool = proxy_subpool; + apr_pool_create_ex(&ps->pool, p, NULL, NULL); return ps; } @@ -1259,7 +1258,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 = proxy_subpool; + ps->pool = base->pool; return ps; } static const char *set_source_address(cmd_parms *parms, void *dummy, @@ -2585,8 +2584,6 @@ 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 */