You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by je...@apache.org on 2007/11/14 21:47:59 UTC
svn commit: r595045 - /httpd/sandbox/amsterdam/d/modules/proxy/mod_serf.c
Author: jerenkrantz
Date: Wed Nov 14 12:47:58 2007
New Revision: 595045
URL: http://svn.apache.org/viewvc?rev=595045&view=rev
Log:
Amsterdam sandbox: Make Serf brigade bucket type (oh, that's not confusing!)
take ownership of a passed brigade.
Modified:
httpd/sandbox/amsterdam/d/modules/proxy/mod_serf.c
Modified: httpd/sandbox/amsterdam/d/modules/proxy/mod_serf.c
URL: http://svn.apache.org/viewvc/httpd/sandbox/amsterdam/d/modules/proxy/mod_serf.c?rev=595045&r1=595044&r2=595045&view=diff
==============================================================================
--- httpd/sandbox/amsterdam/d/modules/proxy/mod_serf.c (original)
+++ httpd/sandbox/amsterdam/d/modules/proxy/mod_serf.c Wed Nov 14 12:47:58 2007
@@ -393,7 +393,9 @@
/* Forward-declare */
const serf_bucket_type_t serf_bucket_type_brigade;
-static serf_bucket_t * brigade_create(ap_filter_t *f, serf_core_ctx_t *core_ctx)
+static serf_bucket_t * brigade_create(ap_filter_t *f,
+ apr_bucket_brigade *bb,
+ serf_core_ctx_t *core_ctx)
{
brigade_bucket_ctx_t *ctx;
@@ -401,7 +403,7 @@
ctx->allocator = core_ctx->serf_bkt_alloc;
ctx->pool = serf_bucket_allocator_get_pool(ctx->allocator);
ctx->core_ctx = core_ctx;
- ctx->bb = apr_brigade_create(f->c->pool, f->c->bucket_alloc);
+ ctx->bb = bb;
ctx->tmp_bb = apr_brigade_create(f->c->pool, f->c->bucket_alloc);
return serf_bucket_create(&serf_bucket_type_brigade, ctx->allocator, ctx);
@@ -458,6 +460,11 @@
static void brigade_destroy(serf_bucket_t *bucket)
{
+ brigade_bucket_ctx_t *ctx = bucket->data;
+
+ apr_brigade_destroy(ctx->bb);
+ apr_brigade_destroy(ctx->tmp_bb);
+
serf_default_destroy_and_data(bucket);
}