At here: in ngx_http_write_filter():
if (limit && c->write->ready && c->sent - sent >= limit - (off_t) (2 * ngx_pagesize)) { c->write->delayed = 1; ngx_add_timer(c->write, 1); } limit's value from clcf->sendfile_max_chunk. In my nginx.conf, I set "sendfile_max_chunk 8k;". I attached a debug log for this situation in last mail. Thanks. At 2014-06-25 21:09:29,"Maxim Dounin" <mdou...@mdounin.ru> wrote: >Hello! > >On Wed, Jun 25, 2014 at 07:23:32PM +0800, flygoast wrote: > >> # HG changeset patch >> # User FengGu <flygo...@126.com> >> # Date 1403694825 -28800 >> # Wed Jun 25 19:13:45 2014 +0800 >> # Node ID 12fd8ef2f6ea3167dd96cb000aafeb2665aeee14 >> # Parent 63d7d69d0fe48e030ff9fc520c7036dbd1ebc13f >> Upstream: fix possible request hang when "proxy_buffering" is off. >> >> >> In ngx_http_upstream_process_non_buffered_request(), when processing non >> buffered request, if write event has been delayed, deleting write timer >> event is likely to result in follow-up writing buffered in >> ngx_http_write_filter() ever since. > >The question is "how write event got delayed?" >In the non-buffered mode, the r->limit_rate is explcitly set to 0, >and this shouldn't happen. > >-- >Maxim Dounin >http://nginx.org/ > >_______________________________________________ >nginx-devel mailing list >nginx-devel@nginx.org >http://mailman.nginx.org/mailman/listinfo/nginx-devel
_______________________________________________ nginx-devel mailing list nginx-devel@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-devel