Re: sub filter‘s bug?

Maxim Dounin mdounin at mdounin.ru
Tue Sep 21 18:19:05 MSD 2010


Hello!

On Tue, Sep 21, 2010 at 08:36:11PM +0800, Simon Liu wrote:

> thanks Maxim!
> 
> my patch is mistake.
> 
> but when remove http_ssi_module , sub filter module may  log  alert:
> 
>  "the http output chain is empty while sending response to client."
> 
> because sub filter module need ngx_http_postpone_filter's code :
> 
>  if (r->postponed == NULL) {
> 
>         if (in || c->buffered) {
>             return ngx_http_next_filter(r->main, in);
>         }
> 
>         return NGX_OK;
>     }
> 
> this code is needed by subrequest only?  i think sub filter is needed too.

It is believed that empty chains shouldn't appear in output.  They 
doesn't make sense unless used to flush various buffers, and 
writer rightfully complains when it sees empty chain while there 
are no buffered data.

The code in postpone filter obviously hides some of "empty chain" 
problems.  But it doesn't mean that sub module needs it.  It means 
that sub module have to be fixed (and the problem is usually 
hidden by postpone filter).

Maxim Dounin



More information about the nginx mailing list