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);
 }