]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MEDIUM: stick-tables: Avoid freeing elements while holding a lock
authorOlivier Houchard <ohouchard@haproxy.com>
Wed, 20 May 2026 14:07:13 +0000 (16:07 +0200)
committerOlivier Houchard <cognet@ci0.org>
Wed, 20 May 2026 14:23:30 +0000 (16:23 +0200)
commit3e25104a9ced06ba43b262a7863a0c2f0ccd245a
treed5f3507b407e8dcccb128cad62dd7ae55212553d
parent482b6763a32c37a42ace8f1ede959cba1942afa9
MEDIUM: stick-tables: Avoid freeing elements while holding a lock

In stksess_trash_oldest(), and process_tables_expire(), avoid freeing
elements while holding two locks, as it could be very costly.
Instead, build a linked list of elements to be free'd, and do so once we
no longer hold any lock.

This may help with github issue #3380, and may be backported to 3.3.
src/stick_table.c