Manpages

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