]> git.kaiwu.me - nginx.git/commit
Upstream: fixed "zero size buf" alerts with cache (ticket #918).
authorMaxim Dounin <mdounin@mdounin.ru>
Thu, 10 Mar 2016 18:58:03 +0000 (21:58 +0300)
committerMaxim Dounin <mdounin@mdounin.ru>
Thu, 10 Mar 2016 18:58:03 +0000 (21:58 +0300)
commit2aa6d7fd65b2c423ffc8fa9d171efd28c994acde
tree8e91eced79516293fe8bd9f45ba937290c52049a
parentcf4879440772558968af76cae5a9170656ed48b8
Upstream: fixed "zero size buf" alerts with cache (ticket #918).

If caching was used, "zero size buf in output" alerts might appear
in logs if a client prematurely closed connection.  Alerts appeared
in the following situation:

- writing to client returned an error, so event pipe
  drained all busy buffers leaving body output filters
  in an invalid state;

- when upstream response was fully received,
  ngx_http_upstream_finalize_request() tried to flush
  all pending data.

Fix is to avoid flushing body if p->downstream_error is set.
src/http/ngx_http_upstream.c