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.

RELATED TO io_queue_wait…

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