On 22 Mar 2016, at 7:11 PM, Yann Ylavic <ylavic....@gmail.com> wrote:

> In r1736216, I tried to restore c->data_in_input_filters usage as
> prior to r1734656.
> Does it help (or I'll revert)?

Got caught up in other stuff before I could get to the bottom of this :(

It looks like we need to restore c->data_in_input_filters usage.

What this c->data_in_input_filters does is do a poor man’s compensation for 
input filters that buffer data during this particular phase of the request 
handling without having a mechanism to tell anybody. Without telling us they’ve 
buffered data, we’ve got to work out ourselves whether we should loop round and 
poll for read, or not. If we make a mistake, we poll for a read that was 
already read, and we hang.

This is really hit and miss - if you have input filters that buffer data in the 
server you’ll hang, but if you don’t have input filters that buffer data in the 
server you don’t hang and the test suite works fine.

When v2.6 comes we must remove c-> data_in_input_filters and use the proper 
mechanism for input filters to signal they have buffered data.

Regards,
Graham
—

Reply via email to