mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-06 23:27:04 +02:00
Every use of the cache tree was covered by the shctx lock even when no operations were performed on the shared_context lists (avail and hot). This patch adds a dedicated RW lock for the cache so that blocks of code that work on the cache tree only can use this lock instead of the superseding shctx one. This is useful for operations during which the concerned blocks are already in the hot list. When the two locks need to be taken at the same time, in http_action_req_cache_use and in shctx_row_reserve_hot, the shctx one must be taken first. A new parameter needed to be added to the shared_context's free_block callback prototype so that cache_free_block can take the cache lock and release it afterwards. |
||
---|---|---|
.. | ||
haproxy | ||
import | ||
make |