MINOR: epoll: permit to mask certain specific events
authorWilly Tarreau <w@1wt.eu>
Mon, 27 Jan 2025 14:41:26 +0000 (15:41 +0100)
committerWilly Tarreau <w@1wt.eu>
Wed, 19 Feb 2025 10:38:51 +0000 (11:38 +0100)
commitcf4d3fc9aec7bb16191cad2678554b631553a99d
tree407d6e67926d83d149489f958a4abed4617e71e8
parentf551e45f10eb63230d6615178abd1fca77015d38
MINOR: epoll: permit to mask certain specific events

A few times in the past we've seen cases where epoll was caught reporting
a wrong event that caused trouble (e.g. spuriously reporting HUP or RDHUP
after a successful connect()). The new tune.epoll.mask-events directive
permits to mask events such as ERR, HUP and RDHUP and convert them to IN
events that are processed by the regular receive path. This should help
better diagnose and troubleshoot issues such as this one, as well as rule
out such a cause when similar issues are reported:

   https://github.com/haproxy/haproxy/issues/2368
   https://www.spinics.net/lists/netdev/msg876470.html

It should be harmless to backport this if necessary.

(cherry picked from commit 7fa70da06db3e69a61e4451a82a4f980b40b4d0c)
Signed-off-by: Willy Tarreau <w@1wt.eu>
doc/configuration.txt
src/ev_epoll.c