You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by jo...@apache.org on 2004/11/02 00:04:05 UTC
cvs commit: httpd-2.0/server util_filter.c
jorton 2004/11/01 15:04:05
Modified: server util_filter.c
Log:
* server/util_filter.c (ap_save_brigade): Be more tolerant of a bucket
type which neither implements ->setaside nor morphs on ->read, such as
the mod_perl SV bucket type in mod_perl <1.99_17; defer returning an
error in this case until after calling setaside on each bucket.
Revision Changes Path
1.102 +8 -3 httpd-2.0/server/util_filter.c
Index: util_filter.c
===================================================================
RCS file: /home/cvs/httpd-2.0/server/util_filter.c,v
retrieving revision 1.101
retrieving revision 1.102
diff -d -w -u -r1.101 -r1.102
--- util_filter.c 26 Sep 2004 15:52:51 -0000 1.101
+++ util_filter.c 1 Nov 2004 23:04:05 -0000 1.102
@@ -532,7 +532,7 @@
apr_bucket_brigade **b, apr_pool_t *p)
{
apr_bucket *e;
- apr_status_t rv;
+ apr_status_t rv, srv = APR_SUCCESS;
/* If have never stored any data in the filter, then we had better
* create an empty bucket brigade so that we can concat.
@@ -561,11 +561,16 @@
}
if (rv != APR_SUCCESS) {
+ srv = rv;
+ /* Return an error but still save the brigade if
+ * ->setaside() is really not implemented. */
+ if (rv != APR_ENOTIMPL) {
return rv;
}
}
+ }
APR_BRIGADE_CONCAT(*saveto, *b);
- return APR_SUCCESS;
+ return srv;
}
AP_DECLARE_NONSTD(apr_status_t) ap_filter_flush(apr_bucket_brigade *bb,