summaryrefslogtreecommitdiff
path: root/lib/xref.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@nvidia.com>2024-10-07 21:46:33 -0400
committerDonald Sharp <sharpd@nvidia.com>2024-10-17 11:07:55 -0400
commitd11ad98ffb1cf74a6f28b9d8c78cdff9d4ce5b56 (patch)
treea07ad6a71dd706c9c1264a5c1d8005493bec2128 /lib/xref.c
parent466efab870d20ba4cfde3a27f80ae3dcfa96c84a (diff)
lib: Correctly handle ppoll pfds.events == 0
The frrevent system is spitting out this message in bgpd: 20:40:15 mem1-roc-f2-b1-r5-t2-d4 bgpd[13166]: [XETTR-D5MR0][EC 100663316] Attempting to process an I/O event but for fd: 214(8) no thread to handle this! This is because as each io event is processed, it is possible that a .events is set to 0. This can leave a situation where we ask ppoll to handle anything that happens on a fd with a .events of 0, in this situation ppoll can return POLLERR, which indicates that something bad has happened on the fd. Let's set the ppoll fds.fd value to -1 when there are no more events to be processed. ppoll specifically calls out that it will just skip this particular one. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'lib/xref.c')
0 files changed, 0 insertions, 0 deletions