Helo, The deflate_in_filter() (in trunk) currently does :
rv = ap_get_brigade(f->next, ctx->bb, AP_MODE_READBYTES, block, 10); if (rv != APR_SUCCESS) { return rv; } /* zero length body? step aside */ bkt = APR_BRIGADE_FIRST(ctx->bb); if (APR_BUCKET_IS_EOS(bkt)) { ap_remove_input_filter(f); return ap_get_brigade(f->next, bb, mode, block, readbytes); } Is it intended to call ap_get_brigade() a second time when the EOS is there the first time? The second call is likely to return APR_EOF which is quite different than EOS brigade... Regards.