input filter. Make sure that metadata buckets are written to
the buffer, not to the final brigade.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@718132
13f79535-47bb-0310-9956-
ffa450edef68
Changes with Apache 2.3.0
[ When backported to 2.2.x, remove entry from this file ]
+ *) mod_buffer: Honour the flush bucket and flush the buffer in the
+ input filter. Make sure that metadata buckets are written to
+ the buffer, not to the final brigade. [Graham Leggett]
+
*) mod_buffer: Optimise the buffering of heap buckets when the heap
buckets stay exactly APR_BUCKET_BUFF_SIZE long. [Graham Leggett,
Ruediger Pluem]
break;
}
- /* pass flush and metadata buckets through */
- if (APR_BUCKET_IS_FLUSH(e) || APR_BUCKET_IS_METADATA(e)) {
+ /* flush buckets clear the buffer */
+ if (APR_BUCKET_IS_FLUSH(e)) {
APR_BUCKET_REMOVE(e);
- APR_BRIGADE_INSERT_TAIL(bb, e);
+ APR_BRIGADE_INSERT_TAIL(ctx->bb, e);
+ break;
+ }
+
+ /* pass metadata buckets through */
+ if (APR_BUCKET_IS_METADATA(e)) {
+ APR_BUCKET_REMOVE(e);
+ APR_BRIGADE_INSERT_TAIL(ctx->bb, e);
continue;
}