]> git.kaiwu.me - nginx.git/commit
Gzip, gunzip: flush busy buffers if any.
authorMaxim Dounin <mdounin@mdounin.ru>
Wed, 15 Oct 2014 18:57:23 +0000 (22:57 +0400)
committerMaxim Dounin <mdounin@mdounin.ru>
Wed, 15 Oct 2014 18:57:23 +0000 (22:57 +0400)
commit97e618c55602aeb241c2adcb2fc8d00c02104653
tree65850d8e01d4fc17ad99b2d914958de71bd51010
parent9369cf8df3d38b3a5782a60d58afff33b87aae79
Gzip, gunzip: flush busy buffers if any.

Previous code resulted in transfer stalls when client happened
to read all the data in buffers at once, while all gzip buffers
were exhausted (but ctx->nomem wasn't set).  Make sure to call
next body filter at least once per call if there are busy buffers.

Additionally, handling of calls with NULL chain was changed to follow
the same logic, i.e., next body filter is only called with NULL chain
if there are busy buffers.  This is expected to fix "output chain is empty"
alerts as reported by some users after c52a761a2029 (1.5.7).
src/http/modules/ngx_http_gunzip_filter_module.c
src/http/modules/ngx_http_gzip_filter_module.c