Man Linux: Main Page and Category List

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;  see  signal(7).   (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.24 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