diff options
author | dreid <dreid@13f79535-47bb-0310-9956-ffa450edef68> | 2001-06-08 00:44:52 +0000 |
---|---|---|
committer | dreid <dreid@13f79535-47bb-0310-9956-ffa450edef68> | 2001-06-08 00:44:52 +0000 |
commit | 11bc7dab166d5623ec521f9d8af5ff4234415b31 (patch) | |
tree | fef0584f83b69edabfd25450aad276946ab01adf /memory/unix/apr_sms.c | |
parent | e713fd3c2b7b10ab10f78b6d711808b7ca8a893c (diff) | |
download | libapr-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.c | 18 |
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); |