summaryrefslogtreecommitdiff
path: root/buckets
diff options
context:
space:
mode:
authorbrianp <brianp@13f79535-47bb-0310-9956-ffa450edef68>2002-12-23 00:16:48 +0000
committerbrianp <brianp@13f79535-47bb-0310-9956-ffa450edef68>2002-12-23 00:16:48 +0000
commit79fe8197f78f8b48183c71260d5487f1c975785e (patch)
treeb1f88519c79dd3f7b7cadc3acb2d980acc0735bc /buckets
parentb040df0a7fe0cd95a56b67239c0c4a7ecdec009a (diff)
downloadlibapr-util-79fe8197f78f8b48183c71260d5487f1c975785e.tar.gz
put the old pool-based brigade allocation back in place for httpd-2.0.44 release
git-svn-id: http://svn.apache.org/repos/asf/apr/apr-util/trunk@58810 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'buckets')
-rw-r--r--buckets/apr_brigade.c19
1 files changed, 7 insertions, 12 deletions
diff --git a/buckets/apr_brigade.c b/buckets/apr_brigade.c
index b535c9e5..41fcd761 100644
--- a/buckets/apr_brigade.c
+++ b/buckets/apr_brigade.c
@@ -85,18 +85,16 @@ APU_DECLARE(apr_status_t) apr_brigade_cleanup(void *data)
e = APR_BRIGADE_FIRST(b);
apr_bucket_delete(e);
}
+ /*
+ * We don't need to free(bb) because it's allocated from a pool.
+ */
return APR_SUCCESS;
}
APU_DECLARE(apr_status_t) apr_brigade_destroy(apr_bucket_brigade *b)
{
- apr_status_t rv;
- if (b->p) {
- apr_pool_cleanup_kill(b->p, b, brigade_cleanup);
- }
- rv = apr_brigade_cleanup(b);
- apr_bucket_free(b);
- return rv;
+ apr_pool_cleanup_kill(b->p, b, brigade_cleanup);
+ return apr_brigade_cleanup(b);
}
APU_DECLARE(apr_bucket_brigade *) apr_brigade_create(apr_pool_t *p,
@@ -104,16 +102,13 @@ APU_DECLARE(apr_bucket_brigade *) apr_brigade_create(apr_pool_t *p,
{
apr_bucket_brigade *b;
- b = apr_bucket_alloc(sizeof(*b), list);
+ b = apr_palloc(p, sizeof(*b));
b->p = p;
b->bucket_alloc = list;
APR_RING_INIT(&b->list, apr_bucket, link);
- if (p) {
- apr_pool_cleanup_register(b->p, b, brigade_cleanup,
- apr_pool_cleanup_null);
- }
+ apr_pool_cleanup_register(b->p, b, brigade_cleanup, apr_pool_cleanup_null);
return b;
}