diff --git a/src/listener.c b/src/listener.c index d68a1c333..fdb91ea38 100644 --- a/src/listener.c +++ b/src/listener.c @@ -799,7 +799,7 @@ void listener_accept(int fd) * a while in case it comes back. In the mean time, we need to * clear this sticky flag. */ - fdtab[fd].ev &= ~FD_POLL_HUP; + _HA_ATOMIC_AND(&fdtab[fd].ev, ~FD_POLL_HUP); goto transient_error; } fd_cant_recv(fd);