diff options
Diffstat (limited to 'io_uring/poll.c')
| -rw-r--r-- | io_uring/poll.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/io_uring/poll.c b/io_uring/poll.c index 176854882ba6..52e3c3e923f4 100644 --- a/io_uring/poll.c +++ b/io_uring/poll.c @@ -289,11 +289,12 @@ static int io_poll_check_events(struct io_kiocb *req, io_tw_token_t tw) } } else { int ret = io_poll_issue(req, tw); + if (ret == IOU_STOP_MULTISHOT) return IOU_POLL_REMOVE_POLL_USE_RES; else if (ret == IOU_REQUEUE) return IOU_POLL_REQUEUE; - if (ret < 0) + if (ret != IOU_RETRY && ret < 0) return ret; } |
