tail head cat sleep
QR code linking to this page

Manual Pages  — AIO_SUSPEND


aio_suspend – suspend until asynchronous I/O operations or timeout complete (REALTIME)



Standard C Library (libc, -lc)


#include <aio.h>

aio_suspend(const struct aiocb *const iocbs[], int niocb, const struct timespec *timeout);


The 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 timeout has passed.

The iocbs argument is an array of niocb pointers to asynchronous I/O requests. Array members containing null pointers will be silently ignored.

If timeout is not a null pointer, it specifies a maximum interval to suspend. If timeout is a null pointer, the suspend blocks indefinitely. To effect a poll, the timeout should point to a zero-value timespec structure.


If one or more of the specified asynchronous I/O requests have completed, aio_suspend() returns 0. Otherwise it returns -1 and sets errno to indicate the error, as enumerated below.


The aio_suspend() system call will fail if:
  the timeout expired before any I/O requests completed.
  The iocbs argument contains more asynchronous I/O requests than the vfs.aio.max_aio_queue_per_proc sysctl(8) variable, or at least one of the requests is not valid.
  the suspend was interrupted by a signal.


aio_cancel(2), aio_error(2), aio_return(2), aio_waitcomplete(2), aio_write(2), aio(4)


The aio_suspend() system call is expected to conform to the IEEE Std 1003.1 ("POSIX.1") standard.


The aio_suspend() system call first appeared in FreeBSD 3.0 .


This manual page was written by Wes Peters <Mt wes@softweyr.com>.

AIO_SUSPEND (2) Oct 23, 2017

tail head cat sleep
QR code linking to this page

Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

Did you know that 7/5 people don't know how to use fractions?