]> git.kaiwu.me - nginx.git/commit
Addition filter: set last_in_chain flag when clearing last_buf.
authorRoman Arutyunyan <arut@nginx.com>
Mon, 3 Oct 2016 18:03:27 +0000 (21:03 +0300)
committerRoman Arutyunyan <arut@nginx.com>
Mon, 3 Oct 2016 18:03:27 +0000 (21:03 +0300)
commit967ebbec321b1daa6632ab843b2dd2346a9fa8d0
tree622f7e51235aea4b99a6a6787b67fb5546961afc
parentf3bbd1c87f0bc97367603c3254c1465d3c622d1f
Addition filter: set last_in_chain flag when clearing last_buf.

When the last_buf flag is cleared for add_after_body to append more data from a
subrequest, other filters may still have buffered data, which should be flushed
at this point.  For example, the sub_filter may have a partial match buffered,
which will only be flushed after the subrequest is done, ending up with
interleaved data in output.

Setting last_in_chain instead of last_buf flushes the data and fixes the order
of output buffers.
src/http/modules/ngx_http_addition_filter_module.c