diff --git a/src/io/uring/Queue.cxx b/src/io/uring/Queue.cxx index f1f4080f3..3e7320216 100644 --- a/src/io/uring/Queue.cxx +++ b/src/io/uring/Queue.cxx @@ -104,14 +104,13 @@ Queue::WaitDispatchOneCompletion() } bool -Queue::SubmitAndWaitDispatchOneCompletion(struct __kernel_timespec &timeout) +Queue::SubmitAndWaitDispatchCompletions(struct __kernel_timespec &timeout) { auto *cqe = ring.SubmitAndWaitCompletion(timeout); if (cqe == nullptr) return false; - DispatchOneCompletion(*cqe); - return true; + return DispatchCompletions(*cqe) > 0; } } // namespace Uring diff --git a/src/io/uring/Queue.hxx b/src/io/uring/Queue.hxx index a8e04bccc..e08615f4e 100644 --- a/src/io/uring/Queue.hxx +++ b/src/io/uring/Queue.hxx @@ -101,7 +101,7 @@ public: while (WaitDispatchOneCompletion()) {} } - bool SubmitAndWaitDispatchOneCompletion(struct __kernel_timespec &timeout); + bool SubmitAndWaitDispatchCompletions(struct __kernel_timespec &timeout); private: static void _DispatchOneCompletion(const struct io_uring_cqe &cqe) noexcept;