event/Loop: auto-restart io_uring_prep_poll_multishot()

Applications need to check the `IORING_CQE_F_MORE` flag to see whether
the kernel is still polling, or whether it has stopped for some reason.
This commit is contained in:
Max Kellermann 2025-02-21 16:08:43 +01:00 committed by Max Kellermann
parent 01a04baf7b
commit 7797158ea6

@ -75,6 +75,12 @@ private:
(void)res; // TODO
event_loop.epoll_ready = true;
if (!IsUringPending()) [[unlikely]]
/* for some reason, the kernel has stopped our
poll operation (no IORING_CQE_F_MORE):
restart the poll */
Start();
}
};