Create Files, and thus MMAPs, out of the request pool, not the connection pool. This solves a small resource leak that had us not closing files until a connection was closed. In order to do this, at the end of the core_output_filter, we loop through the brigade and convert any data we have into a single HEAP bucket that we know will survive clearing the request_rec.
Submitted by: Ryan Bloom, Justin Erenkrantz <email@example.com>, Cliff Woolley
At the hack-athon we decided to change the way that input filters determine how much data is returned to the previous filter. Prior to this change, we used a field in the conn_rec to determine how much to return. After this change, we use an argument to ap_get_brigade. This makes it much more obvious how things work at all levels, so that module authors can easily determine how much data is supposed to be returned to them.