]> git.kaiwu.me - nginx.git/commit
Cache: proper wakeup of subrequests.
authorMaxim Dounin <mdounin@mdounin.ru>
Tue, 2 Dec 2014 02:54:56 +0000 (05:54 +0300)
committerMaxim Dounin <mdounin@mdounin.ru>
Tue, 2 Dec 2014 02:54:56 +0000 (05:54 +0300)
commit6d52912a2a98eb3340564cf0b0627194a978d152
treecdfa7beb6fa7c1fead6c51546aaeec894c82789a
parent10345663c8d7d011ae186fb22d5fdf9a1912b80d
Cache: proper wakeup of subrequests.

In case of a cache lock timeout and in the aio handler we now call
r->write_event_handler() instead of a connection write handler,
to make sure to run appropriate subrequest.  Previous code failed to run
inactive subrequests and hence resulted in suboptimal behaviour, see
report by Yichun Zhang:

http://mailman.nginx.org/pipermail/nginx-devel/2013-October/004435.html

(Infinite hang claimed in the report seems impossible without 3rd party
modules, as subrequests will be eventually woken up by the postpone filter.)
src/http/ngx_http_file_cache.c