Provided by: manpages-dev_3.01-1_all bug

NAME

       aio_suspend - wait for asynchronous I/O operation or timeout

SYNOPSIS

       #include <aio.h>

       int aio_suspend(const struct aiocb * const cblist[],
                       int n, const struct timespec *timeout);

       Link with -lrt.

DESCRIPTION

       The  aio_suspend() function suspends the calling process until at least
       one of the asynchronous I/O requests in the list  cblist  of  length  n
       have  completed,  a signal is delivered, or timeout is not NULL and the
       time interval it indicates has passed.

       Each item in the list must either be NULL (and then is ignored),  or  a
       pointer   to   a  control  block  on  which  I/O  was  initiated  using
       aio_read(3), aio_write(3), or lio_listio(3).

       If CLOCK_MONOTONIC is supported, this clock  is  used  to  measure  the
       timeout interval.

RETURN VALUE

       If  this  function  returns  after  completion  of one of the indicated
       requests, it returns  0.   Otherwise  it  returns  -1  and  sets  errno
       appropriately.

ERRORS

       EAGAIN The  call  was  ended  by  timeout,  before any of the indicated
              operations had completed.

       EINTR  The call was ended by signal.  (Possibly the  completion  signal
              of one of the operations we were waiting for.)

CONFORMING TO

       POSIX.1-2001

NOTES

       One  can  achieve  polling by using a non-NULL timeout that specifies a
       zero time interval.

SEE ALSO

       aio_cancel(3), aio_error(3), aio_fsync(3), aio_read(3),  aio_return(3),
       aio_write(3), time(7)

COLOPHON

       This  page  is  part of release 3.01 of the Linux man-pages project.  A
       description of the project, and information about reporting  bugs,  can
       be found at http://www.kernel.org/doc/man-pages/.

                                  2003-11-14                    AIO_SUSPEND(3)