io_queue_wait(3)

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).