From 821069832e6332a17c4881b2bea85835ef3b5780 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Tue, 6 Feb 2018 12:00:27 +0100 Subject: [PATCH] BUILD: fd/threads: fix breakage build breakage without threads The last fix for the volatile dereference made use of pl_deref_int() which is unknown when building without threads. Let's simply open-code it instead. No backport needed. --- src/fd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/fd.c b/src/fd.c index 87db0e96d..d6c140c0c 100644 --- a/src/fd.c +++ b/src/fd.c @@ -265,7 +265,7 @@ void fd_rm_from_fd_list(volatile struct fdlist *list, int fd) #else lock_self_next: - next = pl_deref_int(&fdtab[fd].cache.next); + next = ({ volatile int *next = &fdtab[fd].cache.next; *next; }); if (next == -2) goto lock_self_next; if (next <= -3) @@ -273,7 +273,7 @@ void fd_rm_from_fd_list(volatile struct fdlist *list, int fd) if (unlikely(!HA_ATOMIC_CAS(&fdtab[fd].cache.next, &next, -2))) goto lock_self_next; lock_self_prev: - prev = pl_deref_int(&fdtab[fd].cache.prev); + prev = ({ volatile int *prev = &fdtab[fd].cache.prev; *prev; }); if (prev == -2) goto lock_self_prev; if (unlikely(!HA_ATOMIC_CAS(&fdtab[fd].cache.prev, &prev, -2)))