summaryrefslogtreecommitdiff
path: root/memory/unix/apr_sms.c
diff options
context:
space:
mode:
authordreid <dreid@13f79535-47bb-0310-9956-ffa450edef68>2001-06-08 00:44:52 +0000
committerdreid <dreid@13f79535-47bb-0310-9956-ffa450edef68>2001-06-08 00:44:52 +0000
commit11bc7dab166d5623ec521f9d8af5ff4234415b31 (patch)
treefef0584f83b69edabfd25450aad276946ab01adf /memory/unix/apr_sms.c
parente713fd3c2b7b10ab10f78b6d711808b7ca8a893c (diff)
downloadlibapr-11bc7dab166d5623ec521f9d8af5ff4234415b31.tar.gz
Some tidying up of the locking code.
Move where we allocate the pool from and clean it up. Change the pre_destroy to be an apr_status_t Move the lock to the individual structures and add a lock_destroy in the pre_destroy function. Some changing of parameter names to make them shorter. Submitted by: Sander Striker <striker@samba-tng.org> David Reid <dreid@apache.org> git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@61733 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'memory/unix/apr_sms.c')
-rw-r--r--memory/unix/apr_sms.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/memory/unix/apr_sms.c b/memory/unix/apr_sms.c
index 7992e34ac..ce83777b8 100644
--- a/memory/unix/apr_sms.c
+++ b/memory/unix/apr_sms.c
@@ -153,7 +153,7 @@ static int apr_sms_is_tracking(apr_sms_t *mem_sys)
}
APR_DECLARE(apr_status_t) apr_sms_init(apr_sms_t *mem_sys,
- apr_sms_t *parent_mem_sys)
+ apr_sms_t *pms)
{
/* XXX - I've assumed that memory passed in will be zeroed,
* i.e. calloc'd instead of malloc'd...
@@ -163,7 +163,7 @@ APR_DECLARE(apr_status_t) apr_sms_init(apr_sms_t *mem_sys,
* an assumption to make as it sounds :)
*/
- mem_sys->parent_mem_sys = parent_mem_sys;
+ mem_sys->parent_mem_sys = pms;
mem_sys->accounting_mem_sys = mem_sys;
mem_sys->child_mem_sys = NULL;
@@ -185,14 +185,17 @@ APR_DECLARE(apr_status_t) apr_sms_init(apr_sms_t *mem_sys,
* sibling->ref = ref;
*/
- if (parent_mem_sys) {
- if ((mem_sys->sibling_mem_sys = parent_mem_sys->child_mem_sys) != NULL)
+ if (pms) {
+ if ((mem_sys->sibling_mem_sys = pms->child_mem_sys) != NULL)
mem_sys->sibling_mem_sys->ref_mem_sys = &mem_sys->sibling_mem_sys;
- mem_sys->ref_mem_sys = &parent_mem_sys->child_mem_sys;
- parent_mem_sys->child_mem_sys = mem_sys;
+ mem_sys->ref_mem_sys = &pms->child_mem_sys;
+ pms->child_mem_sys = mem_sys;
}
+ /* XXX - This should eventually be removed */
+ apr_pool_create(&mem_sys->pool, pms ? pms->pool : NULL);
+
return APR_SUCCESS;
}
@@ -423,6 +426,9 @@ APR_DECLARE(apr_status_t) apr_sms_destroy(apr_sms_t *mem_sys)
if (mem_sys->pre_destroy_fn)
mem_sys->pre_destroy_fn(mem_sys);
+ /* XXX - This should eventually be removed */
+ apr_pool_destroy(mem_sys->pool);
+
/* 1 - If we have a self destruct, use it */
if (mem_sys->destroy_fn)
return mem_sys->destroy_fn(mem_sys);