stas 2004/05/18 23:44:46
Modified: src/modules/perl modperl_filter.c
Log:
looks like we may have to explain to module writers how to write
proper filters
Revision Changes Path
1.90 +8 -1 modperl-2.0/src/modules/perl/modperl_filter.c
Index: modperl_filter.c
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_filter.c,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -u -r1.89 -r1.90
--- modperl_filter.c 13 May 2004 01:45:30 -0000 1.89
+++ modperl_filter.c 19 May 2004 06:44:46 -0000 1.90
@@ -164,8 +164,15 @@
buf = body;
}
- bb = apr_brigade_create(wb->pool, ba);
+ /* this is a note for filter writers who may decide that there is
+ * a bug in mod_perl. We send a transient bucket. That means that
+ * this bucket can't be stored inside a filter without copying the
+ * data in it. This is done automatically by apr_bucket_setaside,
+ * which is written exactly for the purpose to make setaside
+ * operation transparent to the kind of bucket.
+ */
bucket = apr_bucket_transient_create(buf, len, ba);
+ bb = apr_brigade_create(wb->pool, ba);
APR_BRIGADE_INSERT_TAIL(bb, bucket);
if (add_flush_bucket) {