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 @@
#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 @@
}
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;