]> git.kaiwu.me - nginx.git/commit
Upstream: fixed error handling of stale and revalidated cache send.
authorSergey Kandaurov <pluknet@nginx.com>
Mon, 9 Oct 2017 22:04:54 +0000 (01:04 +0300)
committerSergey Kandaurov <pluknet@nginx.com>
Mon, 9 Oct 2017 22:04:54 +0000 (01:04 +0300)
commit661e40864f404b91ee38b3326e4e0e65f29417ec
tree34ef618f47da843c2d3d7dd4a80a55c7e4dfdfb1
parent0737e6d841d87e734dfb980a59094c26621bb80d
Upstream: fixed error handling of stale and revalidated cache send.

The NGX_DONE value returned from ngx_http_upstream_cache_send() indicates
that upstream was already finalized in ngx_http_upstream_process_headers().
It was treated as a generic error which resulted in duplicate finalization.

Handled NGX_HTTP_UPSTREAM_INVALID_HEADER from ngx_http_upstream_cache_send().
Previously, it could return within ngx_http_upstream_finalize_request(), and
since it's below NGX_HTTP_SPECIAL_RESPONSE, a client connection could stuck.
src/http/ngx_http_upstream.c