io_queue_wait(2)

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