| 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 asynchronous I/O request
#include <aio.h>intaio_suspend(const struct aiocb * constlist[],intnent,const struct timespec *timeout);
Theaio_suspend() function suspends the calling thread until at least one ofthe asynchronous I/O operations referenced by thelist argument has completed, untila signal interrupts the function, or, iftimeout is notNULL, untilthe time interval specified bytimeout has passed. If any of theaiocb structures in the list correspond to completed asynchronous I/O operations (thatis, the error status for the operation is not equal toEINPROGRESS)at the time of the call, the function returns without suspending thecalling thread. If there are no outstanding asynchronous I/O operations,aio_suspend()returns immediately withEAGAIN. Thelist argument is an array of pointers toasynchronous I/O control blocks. Thenent argument indicates the number of elementsin the array and is limited to_AIO_LISTIO_MAX = 4096. Eachaiocbstructure pointed to will have been used in initiating an asynchronous I/O requestviaaio_read(3C),aio_write(3C), orlio_listio(3C). This array may contain null pointers, whichare ignored. If this array contains pointers that refer toaiocb structuresthat have not been used in submitting asynchronous I/O, the effect isundefined. If there are no outstanding asynchronous I/O operations,aio_suspend() returns immediatelywithEAGAIN.
If the time interval indicated in thetimespec structure pointed to bytimeout passes before any of the I/O operations referenced bylist arecompleted, thenaio_suspend() returns with an error. If this array contains pointersthat refer toaiocb structures that have not been used in submittingasynchronous I/O, the effect is undefined.
Ifaio_suspend() returns after one or more asynchronous I/O operations have completed,it returns0. Otherwise, it returns-1, and setserrno to indicatethe error.
The application may determine which asynchronous I/O completed by scanning the associatederror and return status usingaio_error(3C) andaio_return(3C), respectively.
Theaio_suspend() function will fail if:
No asynchronous I/O indicated in the list referenced bylist completed in the time interval indicated bytimeout.
There are no asynchronous I/O operations.
A signal interrupted theaio_suspend() function. Since each asynchronous I/O operation might provoke a signal when it completes, this error return can be caused by the completion of one or more of the very I/O operations being awaited.
Thenent argument is less than or equal to 0 or greater than_AIO_LISTIO_MAX, or thetimespec structure pointed to bytimeout is not properly set becausetv_sec is less than 0 ortv_nsec is either less than 0 or greater than 109.
There is currently not enough available memory; the application can try again later.
Theaio_suspend() function is not supported by the system.
Theaio_suspend() function has a transitional interface for 64-bit file offsets. Seelf64(5).
Seeattributes(5) for descriptions of the following attributes:
|
aio.h(3HEAD),aio_fsync(3C),aio_read(3C),aio_return(3C),aio_write(3C),lio_listio(3C),signal.h(3HEAD),attributes(5),lf64(5),standards(5)
Solaris 2.6 was the first release to support the Asynchronous Input andOutput option. Prior to this release, this function always returned-1 andseterrno toENOSYS.
Copyright © 2011, Oracle and/or its affiliates. All rights reserved.Legal Notices | ![]() ![]() |