AIO_SUSPEND(3) Linux Programmer's Manual AIO_SUSPEND(3)

aio_suspend - wait for asynchronous I/O operation or timeout


#include <aio.h>

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 timeout interval.

If this function returns after completion of one of the indicated requests, it returns 0. Otherwise it returns -1 and sets errno appropriately.

The call was ended by timeout, before any of the indicated operations had completed.
The call was ended by signal; see signal(7). (Possibly the completion signal of one of the operations we were waiting for.)

POSIX.1-2001.

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), aio_write(3), time(7)

This page is part of release 3.16 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/.

2003-11-14

Different Versions of this Page: