BUG/MEDIUM: list: fix incorrect pointer unlocking in LIST_DEL_LOCKED()

Injecting on a saturated listener started to exhibit some deadlocks
again between LIST_POP_LOCKED() and LIST_DEL_LOCKED(). Olivier found
it was due to a leftover from a previous debugging session. This patch
fixes it.

This will have to be backported if the other LIST_*_LOCKED() patches
are backported.
This commit is contained in:
Willy Tarreau 2019-03-13 14:03:28 +01:00
parent df23c0ce45
commit b0cef35b09
1 changed files with 1 additions and 1 deletions

View File

@ -263,7 +263,7 @@ struct cond_wordlist {
n2 = HA_ATOMIC_XCHG(&n->p, LLIST_BUSY); \
if (n2 == LLIST_BUSY) { \
if (p2 != NULL) \
p2->n = (el); \
p->n = p2; \
(el)->p = p; \
(el)->n = n; \
__ha_barrier_store(); \