Developer Guide and Reference

Contents

aio_suspend

Suspends the calling process until one of the asynchronous I/O operations completes.

Syntax

int aio_suspend(const struct aiocb * const cblist[], int n, const struct timespec *timeout);
Arguments
cblist[]
Pointer to a control block on which I/O is initiated
n
Length of
cblist
list
*timeout
Time interval to suspend the calling process
Description
The
aio_suspend()
function is like a wait operation. It suspends the calling process until,
  • At least one of the asynchronous I/O requests in the list
    cblist
    of length
    n
    has completed
  • A signal is delivered
  • The time interval indicated in
    timeout
    is not
    NULL
    and has passed.
Each item in the
cblist
list must either be
NULL
(when it is ignored), or a pointer to a control block on which I/O was initiated using
aio_read()
,
aio_write()
, or
lio_listio()
functions.
Returns
0
: On success
-1
: On error
To get the correct error code, use
errno
.