Function submit_and_wait [src]
Like submit(), but allows waiting for events as well.
Returns the number of SQEs submitted.
Matches the implementation of io_uring_submit_and_wait() in liburing.
Prototype
pub fn submit_and_wait(self: *IoUring, wait_nr: u32) !u32
Parameters
self: *IoUring
wait_nr: u32
Source
pub fn submit_and_wait(self: *IoUring, wait_nr: u32) !u32 {
const submitted = self.flush_sq();
var flags: u32 = 0;
if (self.sq_ring_needs_enter(&flags) or wait_nr > 0) {
if (wait_nr > 0 or (self.flags & linux.IORING_SETUP_IOPOLL) != 0) {
flags |= linux.IORING_ENTER_GETEVENTS;
}
return try self.enter(submitted, wait_nr, flags);
}
return submitted;
}