NAME¶
io_queue_wait - Wait for io requests to complete
SYNOPSIS¶
#include <errno.h>
#include <libaio.h>
int io_queue_wait(io_context_t ctx, const struct timespec *timeout);
DESCRIPTION¶
io_queue_wait() attempts to read an event from the completion queue for
the aio_context specified by ctx.
RETURN VALUES¶
May return 0 if no events are available and the timeout specified by when
has elapsed, where when == NULL specifies an infinite timeout. Note
that the timeout pointed to by when is relative and will be updated if
not NULL and the operation blocks. Will fail with -ENOSYS if not
implemented.
RETURN VALUES¶
On success, io_queue_wait() returns 0. Otherwise, -error is
return, where error is one of the Exxx values defined in the Errors section.
ERRORS¶
- EFAULT
- iocbs referenced data outside of the program's accessible address
space.
- EINVAL
- ctx refers to an uninitialized aio context, the iocb pointed
to by iocbs contains an improperly initialized iocb.
- ENOSYS
- Not implemented.
SEE ALSO¶
io(3), io_cancel(3), io_fsync(3), io_getevents(3),
io_prep_fsync(3), io_prep_pread(3), io_prep_pwrite(3),
io_queue_init(3), io_queue_release(3), io_queue_run(3),
io_set_callback(3), io_submit(3), errno(3).