| 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 operation
#include <sys/asynch.h>#include <sys/time.h>aio_result_t *aiowait(const struct timeval *timeout);
Theaiowait() function suspends the calling process until one of its outstandingasynchronous I/O operations completes, providing a synchronous method of notification.
Iftimeout is a non-zero pointer, it specifies a maximum interval towait for the completion of an asynchronous I/O operation. Iftimeout isa zero pointer,aiowait() blocks indefinitely. To effect a poll, thetimeout parameter should be non-zero, pointing to a zero-valuedtimeval structure.
Thetimeval structure is defined in <sys/time.h> and contains the following members:
long tv_sec; /* seconds */long tv_usec; /* and microseconds */
Upon successful completion,aiowait() returns a pointer to the result structure usedwhen the completed asynchronous I/O operation was requested. Upon failure,aiowait() returns-1 and setserrno to indicate the error.aiowait() returns0 if thetime limit expires.
Theaiowait() function will fail if:
Thetimeout argument points to an address outside the address space of the requesting process. SeeNOTES.
The execution ofaiowait() was interrupted by a signal.
There are no outstanding asynchronous I/O requests.
Thetv_secs member of thetimeval structure pointed to bytimeout is less than 0 or thetv_usecs member is greater than the number of seconds in a microsecond.
Seeattributes(5) for descriptions of the following attributes:
|
aiocancel(3C),aioread(3C),attributes(5)
Theaiowait() function is the only way to dequeue an asynchronous notification.It can be used either inside aSIGIO signal handler or inthe main program. OneSIGIO signal can represent several queued events.
Passing an illegal address astimeout will result in settingerrno toEFAULT only if detected by the application process.
Copyright © 2011, Oracle and/or its affiliates. All rights reserved.Legal Notices | ![]() ![]() |