src/queue: clean _io_uring_get_cqe() err handling
Doesn't change behaviour, just a little cleanup.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/src/queue.c b/src/queue.c
index dd1df2a..be461c6 100644
--- a/src/queue.c
+++ b/src/queue.c
@@ -117,8 +117,11 @@
data->sz);
if (ret < 0) {
err = -errno;
- } else if (ret == (int)data->submit) {
- data->submit = 0;
+ break;
+ }
+
+ data->submit -= ret;
+ if (ret == (int)data->submit) {
/*
* When SETUP_IOPOLL is set, __sys_io_uring enter()
* must be called to reap new completions but the call
@@ -127,12 +130,10 @@
*/
if (!(ring->flags & IORING_SETUP_IOPOLL))
data->wait_nr = 0;
- } else {
- data->submit -= ret;
}
if (cqe)
break;
- } while (!err);
+ } while (1);
*cqe_ptr = cqe;
return err;