]> git.kaiwu.me - nginx.git/commit
Cache: fixed race in ngx_http_file_cache_forced_expire().
authorMaxim Dounin <mdounin@mdounin.ru>
Tue, 1 Feb 2022 13:29:28 +0000 (16:29 +0300)
committerMaxim Dounin <mdounin@mdounin.ru>
Tue, 1 Feb 2022 13:29:28 +0000 (16:29 +0300)
commit17c24244b454365b2c068081fa0637ec063cf59c
tree5d852421041b3ccc512d80a96825fe07b5978317
parent05577c18a895d701cb00eef44d758ebf1bd00ddf
Cache: fixed race in ngx_http_file_cache_forced_expire().

During configuration reload two cache managers might exist for a short
time.  If both tried to delete the same cache node, the "ignore long locked
inactive cache entry" alert appeared in logs.  Additionally,
ngx_http_file_cache_forced_expire() might be also called by worker
processes, with similar results.

Fix is to ignore cache nodes being deleted, similarly to how it is
done in ngx_http_file_cache_expire() since 3755:76e3a93821b1.  This
was somehow missed in 7002:ab199f0eb8e8, when ignoring long locked
cache entries was introduced in ngx_http_file_cache_forced_expire().
src/http/ngx_http_file_cache.c