summaryrefslogtreecommitdiff
path: root/misc/apu_dso.c
diff options
context:
space:
mode:
Diffstat (limited to 'misc/apu_dso.c')
-rw-r--r--misc/apu_dso.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/misc/apu_dso.c b/misc/apu_dso.c
index 639875dc7f0b0..9d7f20659b509 100644
--- a/misc/apu_dso.c
+++ b/misc/apu_dso.c
@@ -75,7 +75,6 @@ static apr_status_t apu_dso_term(void *ptr)
apr_status_t apu_dso_init(apr_pool_t *pool)
{
apr_status_t ret = APR_SUCCESS;
- apr_pool_t *global;
apr_pool_t *parent;
if (apr_atomic_inc32(&initialised)) {
@@ -88,17 +87,19 @@ apr_status_t apu_dso_init(apr_pool_t *pool)
}
/* Top level pool scope, need process-scope lifetime */
- for (parent = global = pool; parent; parent = apr_pool_parent_get(global))
- global = parent;
+ for (parent = apr_pool_parent_get(pool);
+ parent && parent != pool;
+ parent = apr_pool_parent_get(pool))
+ pool = parent;
- dsos = apr_hash_make(global);
+ dsos = apr_hash_make(pool);
#if APR_HAS_THREADS
- ret = apr_thread_mutex_create(&mutex, APR_THREAD_MUTEX_DEFAULT, global);
+ ret = apr_thread_mutex_create(&mutex, APR_THREAD_MUTEX_DEFAULT, pool);
/* This already registers a pool cleanup */
#endif
- apr_pool_cleanup_register(global, NULL, apu_dso_term,
+ apr_pool_cleanup_register(pool, NULL, apu_dso_term,
apr_pool_cleanup_null);
apr_atomic_dec32(&in_init);