MINOR: fd: update flags only once in fd_update_events()
authorWilly Tarreau <w@1wt.eu>
Thu, 29 Jul 2021 06:04:00 +0000 (08:04 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 30 Jul 2021 15:41:55 +0000 (17:41 +0200)
commita199a17d72a9cfbc734bac991d45af9feb1f1c30
treec78fc7248efe2fdbedb8792957de0e2843d92a54
parent88babd99443b82bd3b9a8074ceddc211e64d139f
MINOR: fd: update flags only once in fd_update_events()

Since 2.4 with commit f50906519 ("MEDIUM: fd: merge fdtab[].ev and state
for FD_EV_* and FD_POLL_* into state") we can merge all flag updates at
once in fd_update_events(). Previously this was performed in 1 to 3 steps,
setting the polling state, then setting READY_R if in/err/hup, and setting
READY_W if out/err. But since the commit above, all flags are stored
together in the same structure field that is being updated with the new
flags, thus we can simply update the flags altogether and avoid multiple
atomic operations. This even removes the need for atomic ops for FDs that
are not shared.
include/haproxy/fd.h