Revert incorrect r1883803 (unmatched lock/unlock), will recommit.
[Correct commit in r1883805]
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1883804 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/memory/unix/apr_pools.c b/memory/unix/apr_pools.c
index 55372fe..99abb69 100644
--- a/memory/unix/apr_pools.c
+++ b/memory/unix/apr_pools.c
@@ -1012,12 +1012,20 @@
/* Remove the pool from the parents child list */
if (pool->parent) {
- allocator_lock(pool->parent->allocator);
+#if APR_HAS_THREADS
+ apr_thread_mutex_t *mutex;
+
+ if ((mutex = apr_allocator_mutex_get(pool->parent->allocator)) != NULL)
+ apr_thread_mutex_lock(mutex);
+#endif /* APR_HAS_THREADS */
if ((*pool->ref = pool->sibling) != NULL)
pool->sibling->ref = pool->ref;
- allocator_unlock(pool->parent->allocator);
+#if APR_HAS_THREADS
+ if (mutex)
+ apr_thread_mutex_unlock(mutex);
+#endif /* APR_HAS_THREADS */
}
/* Find the block attached to the pool structure. Save a copy of the
@@ -1120,7 +1128,12 @@
#endif /* defined(NETWARE) */
if ((pool->parent = parent) != NULL) {
- allocator_lock(parent->allocator);
+#if APR_HAS_THREADS
+ apr_thread_mutex_t *mutex;
+
+ if ((mutex = apr_allocator_mutex_get(parent->allocator)) != NULL)
+ apr_thread_mutex_lock(mutex);
+#endif /* APR_HAS_THREADS */
if ((pool->sibling = parent->child) != NULL)
pool->sibling->ref = &pool->sibling;
@@ -1128,7 +1141,10 @@
parent->child = pool;
pool->ref = &parent->child;
- allocator_lock(parent->allocator);
+#if APR_HAS_THREADS
+ if (mutex)
+ apr_thread_mutex_unlock(mutex);
+#endif /* APR_HAS_THREADS */
}
else {
pool->sibling = NULL;