.TH io_queue_wait 3 2019-07-23 "Linux" "Linux AIO" .SH NAME io_queue_wait \- Wait for io requests to complete .SH SYNOPSIS .nf .B #include .br .sp .B #include .br .sp .BI "int io_queue_wait(io_context_t " ctx ", const struct timespec *" timeout ");" .fi .SH DESCRIPTION .BR io_queue_wait () attempts to read an event from the completion queue for the aio_context specified by .IR ctx . .SH "RETURN VALUES" May return .B 0 if no events are available and the timeout specified by when has elapsed, where when == NULL specifies an infinite \fItimeout\fP. Note that the \fItimeout\fP pointed to by when is relative and will be updated if not NULL and the operation blocks. Will fail with -\fBENOSYS\fP if not implemented. .SH "RETURN VALUES" On success, .BR io_queue_wait () returns .BR 0 . Otherwise, -error is return, where error is one of the Exxx values defined in the Errors section. .SH ERRORS .TP .B EFAULT .I iocbs referenced data outside of the program's accessible address space. .TP .B EINVAL .I ctx refers to an uninitialized aio context, the .I iocb pointed to by .I iocbs contains an improperly initialized iocb. .TP .B ENOSYS Not implemented. .SH "SEE ALSO" .BR io (3), .BR io_cancel (3), .BR io_fsync (3), .BR io_getevents (3), .BR io_prep_fsync (3), .BR io_prep_pread (3), .BR io_prep_pwrite (3), .BR io_queue_init (3), .BR io_queue_release (3), .BR io_queue_run (3), .BR io_set_callback (3), .BR io_submit (3), .BR errno (3).