aio_suspend
- suspend until asynchronous I/O operations or timeout complete (REALTIME)
LIBRARY
Lb libc
SYNOPSIS
#include <aio.h> int
aio_suspend (const struct aiocb * const iocbs[] int niocb const struct timespec * timeout);
DESCRIPTION
The
aio_suspend ();
system call suspends the calling process until at least one of the
specified asynchronous I/O requests have completed, a signal is
delivered, or the
Fa timeout
has passed.
The
Fa iocbs
argument
is an array of
Fa niocb
pointers to asynchronous I/O requests.
Array members containing
null pointers will be silently ignored.
If
Fa timeout
is not a null pointer, it specifies a maximum interval to suspend.
If
Fa timeout
is a null pointer, the suspend blocks indefinitely.
To effect a
poll, the
Fa timeout
should point to a zero-value timespec structure.
RETURN VALUES
If one or more of the specified asynchronous I/O requests have
completed,
aio_suspend ();
returns 0.
Otherwise it returns -1 and sets
errno
to indicate the error, as enumerated below.
ERRORS
The
aio_suspend ();
system call will fail if:
Bq Er EAGAIN
the
Fa timeout
expired before any I/O requests completed.
Bq Er EINVAL
The
Fa iocbs
argument
contains more than
AIO_LISTIO_MAX
asynchronous I/O requests, or at least one of the requests is not
valid.