View | Details | Raw Unified | Return to bug 36780
Collapse All | Expand All

(-)server/util_filter.c (-1 / +11 lines)
Lines 578-585 Link Here
578
                                                void *ctx)
578
                                                void *ctx)
579
{
579
{
580
    ap_filter_t *f = ctx;
580
    ap_filter_t *f = ctx;
581
    apr_status_t rv;
581
582
582
    return ap_pass_brigade(f, bb);
583
    rv = ap_pass_brigade(f, bb);
584
585
    /* Before invocation of the flush callback, apr_brigade_write et
586
     * al may place transient buckets in the brigade, which will fall
587
     * out of scope after returning.  Empty the brigade here, to avoid
588
     * issues with leaving such buckets in the brigade if some filter
589
     * fails and leaves a non-empty brigade. */
590
    apr_brigade_cleanup(bb);
591
592
    return rv;
583
}
593
}
584
594
585
AP_DECLARE(apr_status_t) ap_fflush(ap_filter_t *f, apr_bucket_brigade *bb)
595
AP_DECLARE(apr_status_t) ap_fflush(ap_filter_t *f, apr_bucket_brigade *bb)

Return to bug 36780