Standard C Library Functions aio_waitn(3C)
NAME
aio_waitn - wait for completion of asynchronous I/O opera-
tionsSYNOPSIS
#include
int aio_waitn(struct aiocb *list[], uint_t nent,
uint_t *nwait, const struct timespec *timeout);
DESCRIPTION
The aio_waitn() function suspends the calling thread until
at least the number of requests specified by nwait have com-
pleted, until a signal interrupts the function, or if timeout is not NULL, until the time interval specified by timeout has passed.To effect a poll, the timeout argument should be non-zero,
pointing to a zero-valued timespec structure.
The list argument is an array of uninitialized I/O comple-
tion block pointers to be filled in by the system beforeaio_waitn() returns. The nent argument indicates the maximum
number of elements that can be placed in list[] and is lim-
ited to _AIO_LISTIO_MAX = 4096.
The nwait argument points to the minimum number of requestsaio_waitn() should wait for. Upon returning, the content of
nwait is set to the actual number of requests in the aiocb list, which can be greater than the initial value specifiedin nwait. The aio_waitn() function attempts to return as
many requests as possible, up to the number of outstandingasynchronous I/Os but less than or equal to the maximum specified by the nent argument. As soon as the number of
outstanding asynchronous I/O requests becomes 0, aio_waitn()
returns with the current list of completed requests.The aiocb structures returned will have been used in ini-
tiating an asynchronous I/O request from any thread in the
process with aio_read(3C), aio_write(3C), or lio_listio(3C).
If the time interval expires before the expected number ofI/O operations specified by nwait are completed, aio_waitn()
returns the number of completed requests and the content of the nwait pointer is updated with that number.SunOS 5.11 Last change: 18 Dec 2008 1
Standard C Library Functions aio_waitn(3C)
If aio_waitn() is interrupted by a signal, nwait is set to
the number of completed requests. The application can determine the status of the completedasynchronous I/O by checking the associated error and return
status using aio_error(3C) and aio_return(3C), respectively.
RETURN VALUES
Upon successful completion, aio_waitn() returns 0. Other-
wise, it returns -1 and sets errno to indicate the error.
ERRORS
The aio_waitn() function will fail if:
EAGAIN There are no outstanding asynchronous I/O requests. EFAULT The list[], nwait, or timeout argument points to
an address outside the address space of the pro-
cess. The errno variable is set to EFAULT only ifthis condition is detected by the application pro-
cess.EINTR The execution of aio_waitn() was interrupted by a
signal.EINVAL The timeout element tv_sec or tv_nsec is < 0, nent
is set to 0 or > _AIO_LISTIO_MAX, or nwait is
either set to 0 or is > nent. ENOMEM There is currently not enough available memory. The application can try again later. ETIME The time interval expired before nwait outstanding requests have completed.USAGE
The aio_waitn() function has a transitional interface for
64-bit file offsets. See lf64(5).
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:SunOS 5.11 Last change: 18 Dec 2008 2
Standard C Library Functions aio_waitn(3C)
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | Safe |
|_____________________________|_____________________________|
SEE ALSO
aio.h(3HEAD), aio_error(3C), aio_read(3C), aio_write(3C),
lio_listio(3C), aio_return(3C), attributes(5), lf64(5)
SunOS 5.11 Last change: 18 Dec 2008 3