aio_suspend - wait for asynchronous I/O operation or timeout
int aio_suspend(const struct aiocb * const cblist,
int n, const struct timespec *timeout);
Link with -lrt.
The aio_suspend() function suspends the calling process until at least
one of the asynchronous I/O requests in the list cblist of length n
have completed, a signal is delivered, or timeout is not NULL and the
time interval it indicates has passed.
Each item in the list must either be NULL (and then is ignored), or a
pointer to a control block on which I/O was initiated using
aio_read(3), aio_write(3), or lio_listio(3).
If CLOCK_MONOTONIC is supported, this clock is used to measure the
If this function returns after completion of one of the indicated
requests, it returns 0. Otherwise it returns -1 and sets errno
EAGAIN The call was ended by timeout, before any of the indicated
operations had completed.
EINTR The call was ended by signal; see signal(7). (Possibly the
completion signal of one of the operations we were waiting for.)
One can achieve polling by using a non-NULL timeout that specifies a
zero time interval.
aio_cancel(3), aio_error(3), aio_fsync(3), aio_read(3), aio_return(3),
This page is part of release 3.24 of the Linux man-pages project. A
description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.