From: Willy Tarreau Date: Tue, 6 Apr 2021 14:48:02 +0000 (+0200) Subject: CLEANUP: fd: remove FD_POLL_DATA and FD_POLL_STICKY X-Git-Tag: v2.4-dev16~28 X-Git-Url: http://git.haproxy.org/?a=commitdiff_plain;h=fc0cdfb9b7f66de8c36ca819c03a8012223cc69a;p=haproxy-2.5.git CLEANUP: fd: remove FD_POLL_DATA and FD_POLL_STICKY The former was not used and the second was used only as a positive mask of the flags to keep instead of having the flags that are updated. Both were removed in favor of a new FD_POLL_UPDT_MASK that only mentions the updated flags. This will ease merging of state and ev later. --- diff --git a/include/haproxy/fd-t.h b/include/haproxy/fd-t.h index 2b51125..53bc528 100644 --- a/include/haproxy/fd-t.h +++ b/include/haproxy/fd-t.h @@ -42,8 +42,7 @@ enum { #define FD_POLL_ERR 0x08 #define FD_POLL_HUP 0x10 -#define FD_POLL_DATA (FD_POLL_IN | FD_POLL_OUT) -#define FD_POLL_STICKY (FD_POLL_ERR | FD_POLL_HUP) +#define FD_POLL_UPDT_MASK (FD_POLL_IN | FD_POLL_PRI | FD_POLL_OUT) /* FD_EV_* are the values used in fdtab[].state to define the polling states in * each direction. Most of them are manipulated using test-and-set operations diff --git a/include/haproxy/fd.h b/include/haproxy/fd.h index 7e0863c..09fe24c 100644 --- a/include/haproxy/fd.h +++ b/include/haproxy/fd.h @@ -386,12 +386,12 @@ static inline void fd_update_events(int fd, unsigned char evts) } old = fdtab[fd].ev; - new = (old & FD_POLL_STICKY) | new_flags; + new = (old & ~FD_POLL_UPDT_MASK) | new_flags; if (unlikely(locked)) { /* Locked FDs (those with more than 2 threads) are atomically updated */ while (unlikely(new != old && !_HA_ATOMIC_CAS(&fdtab[fd].ev, &old, new))) - new = (old & FD_POLL_STICKY) | new_flags; + new = (old & ~FD_POLL_UPDT_MASK) | new_flags; } else { if (new != old) fdtab[fd].ev = new;