aio_waitn(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

aio_waitn(3c)

aio_waitn(3C)            Standard C Library Functions            aio_waitn(3C)

NAME
       aio_waitn - wait for completion of asynchronous I/O operations

SYNOPSIS
       #include <aio.h>

       int aio_waitn(struct aiocb *list[], uint_t nent,
            uint_t *nwait, const struct timespec *timeout);

DESCRIPTION
       The aio_waitn() function suspends the calling thread until at least the
       number  of  requests  specified by nwait have completed, until a signal
       interrupts the function, or if timeout is not NULL, until the time  in‐
       terval specified by timeout has passed.


       To  effect a poll, the timeout argument should be non-zero, pointing to
       a zero-valued timespec structure.


       The list argument is an array of  uninitialized  I/O  completion  block
       pointers  to be filled in by the system before aio_waitn() returns. The
       nent argument indicates the maximum number  of  elements  that  can  be
       placed in list[] and is limited to _AIO_LISTIO_MAX = 4096.


       The nwait argument points to the minimum number of requests aio_waitn()
       should wait for. Upon returning, the content of nwait is set to the ac‐
       tual  number  of  requests in the aiocb list, which can be greater than
       the initial value specified in nwait. The aio_waitn() function attempts
       to return as many requests as possible, up to the number of outstanding
       asynchronous I/Os but less than or equal to the  maximum  specified  by
       the  nent  argument.  As soon as the number of outstanding asynchronous
       I/O requests becomes 0, aio_waitn() returns with the  current  list  of
       completed requests.


       The  aiocb  structures  returned  will  have been used in initiating an
       asynchronous  I/O  request  from  any  thread  in  the   process   with
       aio_read(3C), aio_write(3C), or lio_listio(3C).


       If  the  time interval expires before the expected number of I/O opera‐
       tions specified by nwait are completed, aio_waitn() returns the  number
       of  completed  requests and the content of the nwait pointer is updated
       with that number.


       If aio_waitn() is interrupted by a signal, nwait is set to  the  number
       of completed requests.


       The  application can determine the status of the completed asynchronous
       I/O by checking the associated error and return  status  using  aio_er‐
       ror(3C) and aio_return(3C), respectively.

RETURN VALUES
       Upon  successful  completion,  aio_waitn() returns 0. Otherwise, it re‐
       turns -1 and sets errno to indicate the error.

ERRORS
       The aio_waitn() function will fail if:

       EAGAIN    There are no outstanding asynchronous I/O requests.


       EFAULT    The list[], nwait, or timeout argument points to  an  address
                 outside  the address space of the process. The errno variable
                 is set to EFAULT only if this condition is  detected  by  the
                 application process.


       EINTR     The execution of aio_waitn() was interrupted by a signal.


       EINVAL    The  timeout element tv_sec or tv_nsec is < 0, nent is set to
                 0 or > _AIO_LISTIO_MAX, or nwait is either set to 0 or  is  >
                 nent.


       ENOMEM    There  is currently not enough available memory. The applica‐
                 tion can try again later.


       ETIME     The time interval expired before nwait  outstanding  requests
                 have completed.


USAGE
       The  aio_waitn()  function has a transitional interface for 64-bit file
       offsets. See lf64(7).

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE VALUE _ Interface StabilityCommitted _ MT-LevelSafe


SEE ALSO
       aio_return(3C),  aio_error(3C),  aio_read(3C),  aio_write(3C), lio_lis‐
       tio(3C), aio.h(3HEAD), attributes(7), lf64(7)

Oracle Solaris 11.4               18 Dec 2008                    aio_waitn(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3