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_id, const struct timespec *timeout);
DESCRIPTION¶
Attempts to read an event from the completion queue for the aio_context
specified by
ctx_id.
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_id refers to an unitialized 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).