| Skip Navigation Links | |
| Exit Print View | |
![]() | man pages section 3: Basic Library Functions Oracle Solaris 11 Information Library |
enable_extended_FILE_stdio(3C)
posix_spawnattr_getschedparam(3C)
posix_spawnattr_getschedpolicy(3C)
posix_spawnattr_getsigdefault(3C)
posix_spawnattr_getsigignore_np(3C)
posix_spawnattr_getsigmask(3C)
posix_spawnattr_setschedparam(3C)
posix_spawnattr_setschedpolicy(3C)
posix_spawnattr_setsigdefault(3C)
posix_spawnattr_setsigignore_np(3C)
posix_spawnattr_setsigmask(3C)
posix_spawn_file_actions_addclose(3C)
posix_spawn_file_actions_addclosefrom_np(3C)
posix_spawn_file_actions_adddup2(3C)
posix_spawn_file_actions_addopen(3C)
posix_spawn_file_actions_destroy(3C)
posix_spawn_file_actions_init(3C)
pthread_attr_getdetachstate(3C)
pthread_attr_getinheritsched(3C)
pthread_attr_getschedparam(3C)
pthread_attr_getschedpolicy(3C)
pthread_attr_setdetachstate(3C)
pthread_attr_setinheritsched(3C)
pthread_attr_setschedparam(3C)
pthread_attr_setschedpolicy(3C)
pthread_barrierattr_destroy(3C)
pthread_barrierattr_getpshared(3C)
pthread_barrierattr_setpshared(3C)
pthread_condattr_getpshared(3C)
pthread_condattr_setpshared(3C)
pthread_cond_reltimedwait_np(3C)
pthread_key_create_once_np(3C)
pthread_mutexattr_getprioceiling(3C)
pthread_mutexattr_getprotocol(3C)
pthread_mutexattr_getpshared(3C)
pthread_mutexattr_getrobust(3C)
pthread_mutexattr_setprioceiling(3C)
pthread_mutexattr_setprotocol(3C)
pthread_mutexattr_setpshared(3C)
pthread_mutexattr_setrobust(3C)
pthread_mutex_getprioceiling(3C)
pthread_mutex_reltimedlock_np(3C)
pthread_mutex_setprioceiling(3C)
pthread_rwlockattr_destroy(3C)
pthread_rwlockattr_getpshared(3C)
pthread_rwlockattr_setpshared(3C)
pthread_rwlock_reltimedrdlock_np(3C)
pthread_rwlock_reltimedwrlock_np(3C)
pthread_rwlock_timedrdlock(3C)
pthread_rwlock_timedwrlock(3C)
rctlblk_get_enforced_value(3C)
- wait for completion of asynchronous I/O operations
#include <aio.h>intaio_waitn(struct aiocb *list[],uint_tnent,uint_t *nwait,const struct timespec *timeout);
Theaio_waitn() function suspends the calling thread until at least the numberof requests specified bynwait have completed, until a signal interrupts thefunction, or iftimeout is notNULL, until the time interval specified bytimeout has passed.
To effect a poll, thetimeout argument should be non-zero, pointing toa zero-valuedtimespec structure.
Thelist argument is an array of uninitialized I/O completion block pointersto be filled in by the system beforeaio_waitn() returns. Thenentargument indicates the maximum number of elements that can be placed inlist[] and is limited to_AIO_LISTIO_MAX = 4096.
Thenwait argument points to the minimum number of requestsaio_waitn() shouldwait for. Upon returning, the content ofnwait is set to theactual number of requests in theaiocb list, which can be greater thanthe initial value specified innwait. Theaio_waitn() function attempts to returnas many requests as possible, up to the number of outstanding asynchronousI/Os but less than or equal to the maximum specified by thenent argument. As soon as the number of outstanding asynchronous I/O requestsbecomes 0,aio_waitn() returns with the current list of completed requests.
Theaiocb structures returned will have been used in initiating an asynchronousI/O request from any thread in the process withaio_read(3C),aio_write(3C), orlio_listio(3C).
If the time interval expires before the expected number of I/O operationsspecified bynwait are completed,aio_waitn() returns the number of completed requestsand the content of thenwait pointer is updated with that number.
Ifaio_waitn() is interrupted by a signal,nwait is set to thenumber of completed requests.
The application can determine the status of the completed asynchronous I/O bychecking the associated error and return status usingaio_error(3C) andaio_return(3C), respectively.
Upon successful completion,aio_waitn() returns 0. Otherwise, it returns -1 and setserrno to indicate the error.
Theaio_waitn() function will fail if:
There are no outstanding asynchronous I/O requests.
Thelist[],nwait, ortimeout argument points to an address outside the address space of the process. Theerrno variable is set toEFAULT only if this condition is detected by the application process.
The execution ofaio_waitn() was interrupted by a signal.
Thetimeout elementtv_sec ortv_nsec is < 0,nent is set to 0 or >_AIO_LISTIO_MAX, ornwait is either set to 0 or is >nent.
There is currently not enough available memory. The application can try again later.
The time interval expired beforenwait outstanding requests have completed.
Theaio_waitn() function has a transitional interface for 64-bit file offsets. Seelf64(5).
Seeattributes(5) for descriptions of the following attributes:
|
aio.h(3HEAD),aio_error(3C),aio_read(3C),aio_write(3C),lio_listio(3C),aio_return(3C),attributes(5),lf64(5)
Copyright © 2011, Oracle and/or its affiliates. All rights reserved.Legal Notices | ![]() ![]() |