diff options
| author | Donald Sharp <sharpd@nvidia.com> | 2024-10-07 21:46:33 -0400 |
|---|---|---|
| committer | Donald Sharp <sharpd@nvidia.com> | 2024-10-17 11:07:55 -0400 |
| commit | d11ad98ffb1cf74a6f28b9d8c78cdff9d4ce5b56 (patch) | |
| tree | a07ad6a71dd706c9c1264a5c1d8005493bec2128 /lib/xref.c | |
| parent | 466efab870d20ba4cfde3a27f80ae3dcfa96c84a (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
