Great. Where this should be documented? In the ap_get_brigade .h?
It's already in util_filters.h. Read the documentation for ap_input_mode_t:
/** The filter should return at most readbytes data. */ AP_MODE_READBYTES, ...
right? Or how otherwise would you explain the assertion:
AP_DEBUG_ASSERT(!APR_BRIGADE_EMPTY(bb));
If using APR_BLOCK_READ, it's illegal to return 0 bytes with AP_MODE_READBYTES - that is what this assert is checking for in maintainer mode (this was a troublesome assert at one point). It's the same expectation as doing a blocking socking read() - blocking reads shouldn't return until something is returned. -- justin
