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)))