Copyright (c) 1999 Softweyr LLC. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or othe...
NAMEaio_suspend - suspend until asynchronous I/O operations or timeout complete (REALTIME)
SYNOPSISIn aio.h Ft int Fn aio_suspend const struct aiocb *const iocbs int niocb const struct timespec *timeout
DESCRIPTIONThe Fn 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 VALUESIf one or more of the specified asynchronous I/O requests have completed, Fn aio_suspend returns 0. Otherwise it returns -1 and sets errno to indicate the error, as enumerated below.
ERRORSThe Fn 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.
- Bq Er EINTR
- the suspend was interrupted by a signal.