Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
AIO_SUSPEND(2)		       System Calls Manual		  AIO_SUSPEND(2)

NAME
     aio_suspend  --  suspend  until asynchronous I/O operations or timeout com-
     plete (REALTIME)

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <aio.h>

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

DESCRIPTION
     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  re-
     quests.  Array members containing null pointers will be silently ignored.

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

RETURN VALUES
     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  indi-
     cate the error, as enumerated below.

ERRORS
     The aio_suspend() system call will fail if:

     [EAGAIN]		the timeout expired before any I/O requests completed.

     [EINVAL]		The  iocbs  argument  contains more asynchronous I/O re-
			quests than the vfs.aio.max_aio_queue_per_proc sysctl(8)
			variable, or at least one of the requests is not valid.

     [EINTR]		the suspend was interrupted by a signal.

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

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

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

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

FreeBSD ports 15.quarterly	October 23, 2017		  AIO_SUSPEND(2)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=aio_suspend&sektion=2&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help