thanks maxim!<div><font class="Apple-style-span" face="arial, sans-serif" size="6"><span class="Apple-style-span" style="font-size: 24px;"><span class="Apple-style-span" style="font-size: small;"><br></span></span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif" size="6"><span class="Apple-style-span" style="font-size: 24px;"><span class="Apple-style-span" style="font-size: small;"> I agree your perspective , sub filter must deal with this situation(in is NULL) .</span></span></font></div>
<div><span class="Apple-style-span" style="font-family: arial, sans-serif; "><br></span></div><div><font class="Apple-style-span" face="arial, sans-serif" size="6"><span class="Apple-style-span" style="font-size: 24px;"><span class="Apple-style-span" style="font-size: small;"></span></span></font><span class="Apple-style-span" style="font-family: arial, sans-serif; ">and as you say , this is sub filter's bug?</span></div>
<div><span class="Apple-style-span" style="font-family: arial, sans-serif; "><br></span></div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div><div class="gmail_quote">On Tue, Sep 21, 2010 at 10:19 PM, Maxim Dounin <span dir="ltr"><<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hello!<br>
<div class="im"><br>
On Tue, Sep 21, 2010 at 08:36:11PM +0800, Simon Liu wrote:<br>
<br>
> thanks Maxim!<br>
><br>
> my patch is mistake.<br>
><br>
> but when remove http_ssi_module , sub filter module may log alert:<br>
><br>
> "the http output chain is empty while sending response to client."<br>
><br>
> because sub filter module need ngx_http_postpone_filter's code :<br>
><br>
> if (r->postponed == NULL) {<br>
><br>
> if (in || c->buffered) {<br>
> return ngx_http_next_filter(r->main, in);<br>
> }<br>
><br>
> return NGX_OK;<br>
> }<br>
><br>
> this code is needed by subrequest only? i think sub filter is needed too.<br>
<br>
</div>It is believed that empty chains shouldn't appear in output. They<br>
doesn't make sense unless used to flush various buffers, and<br>
writer rightfully complains when it sees empty chain while there<br>
are no buffered data.<br>
<br>
The code in postpone filter obviously hides some of "empty chain"<br>
problems. But it doesn't mean that sub module needs it. It means<br>
that sub module have to be fixed (and the problem is usually<br>
hidden by postpone filter).<br>
<div><div></div><div class="h5"><br>
Maxim Dounin<br>
<br>
_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
<a href="http://nginx.org/mailman/listinfo/nginx" target="_blank">http://nginx.org/mailman/listinfo/nginx</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>博观约取<br><br>豆瓣:<a href="http://www.douban.com/people/mustang/" target="_blank">www.douban.com/people/mustang/</a><br><br>blog: <a href="http://www.pagefault.info" target="_blank">www.pagefault.info</a><br>
<br>twitter: <a href="http://www.twitter.com/minibobo" target="_blank">www.twitter.com/minibobo</a><br>
</div>