summaryrefslogtreecommitdiffstats
path: root/httpd-2.2.4-oldflush.patch
diff options
context:
space:
mode:
authorjorton <jorton@fedoraproject.org>2007-09-02 13:57:10 +0000
committerjorton <jorton@fedoraproject.org>2007-09-02 13:57:10 +0000
commit6590dbb9858735568645e3e10970a7f604339ddf (patch)
treed76f199252c7db5030eb4331a513689cafc48f0b /httpd-2.2.4-oldflush.patch
parent94757f912d66a635cee2214d6fc04778aa25ed0a (diff)
- rebuild for fixed APRhttpd-2_2_4-10
Diffstat (limited to 'httpd-2.2.4-oldflush.patch')
-rw-r--r--httpd-2.2.4-oldflush.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/httpd-2.2.4-oldflush.patch b/httpd-2.2.4-oldflush.patch
new file mode 100644
index 0000000..69b8392
--- /dev/null
+++ b/httpd-2.2.4-oldflush.patch
@@ -0,0 +1,22 @@
+--- httpd-2.2.4/server/util_filter.c.oldflush
++++ httpd-2.2.4/server/util_filter.c
+@@ -578,8 +578,18 @@ AP_DECLARE_NONSTD(apr_status_t) ap_filte
+ void *ctx)
+ {
+ ap_filter_t *f = ctx;
++ apr_status_t rv;
+
+- return ap_pass_brigade(f, bb);
++ rv = ap_pass_brigade(f, bb);
++
++ /* apr_brigade_write* require that the flush function ensures that
++ * the brigade is empty upon return; otherwise the brigade may be
++ * left with a transient bucket whose contents have fallen out of
++ * scope. Call cleanup here unconditionally to avoid the issue in
++ * all cases. */
++ apr_brigade_cleanup(bb);
++
++ return rv;
+ }
+
+ AP_DECLARE(apr_status_t) ap_fflush(ap_filter_t *f, apr_bucket_brigade *bb)