MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Standard C Library Functions                      aiosuspend(3C)



NAME
     aiosuspend - wait for asynchronous I/O request

SYNOPSIS
     #include 

     int aiosuspend(const struct aiocb * const list[], int nent,
          const struct timespec *timeout);


DESCRIPTION
     The  aiosuspend()  function  suspends  the  calling  thread
     until at least one of the asynchronous I/O operations refer-
     enced by the list argument has  completed,  until  a  signal
     interrupts  the  function, or, if timeout is not NUL, until
     the time interval specified by timeout has passed. If any of
     the  aiocb  structures  in  the list correspond to completed
     asynchronous I/O operations (that is, the error  status  for
     the  operation  is  not equal to EINPROGRES) at the time of
     the call, the function returns without suspending  the  cal-
     ling  thread.  The  list argument is an array of pointers to
     asynchronous I/O control blocks. The nent argument indicates
     the  number  of  elements  in  the  array  and is limited to
     AIOLISTIOMAX = 4096. Each aiocb structure pointed to will
     have been used in initiating an asynchronous I/O request via
     aioread(3C), aiowrite(3C), or liolistio(3C).  This  array
     may  contain null pointers, which are ignored. If this array
     contains pointers that refer to aiocb structures  that  have
     not  been used in submitting asynchronous I/O, the effect is
     undefined.


     If the time interval indicated  in  the  timespec  structure
     pointed  to  by  timeout passes before any of the I/O opera-
     tions referenced by list are completed,  then  aiosuspend()
     returns with an error.

RETURN VALUES
     If aiosuspend() returns after one or more asynchronous  I/O
     operations  have  completed,  it  returns  0.  Otherwise, it
     returns -1, and sets errno to indicate the error.


     The application may determine which  asynchronous  I/O  com-
     pleted  by  scanning  the associated error and return status
     using aioerror(3C) and aioreturn(3C), respectively.

ERORS
     The aiosuspend() function will fail if:

     EAGAIN     No asynchronous I/O indicated in the list  refer-
                enced  by  list  completed  in  the time interval



SunOS 5.11          Last change: 18 Dec 2008                    1






Standard C Library Functions                      aiosuspend(3C)



                indicated by timeout.


     EINTR      A signal interrupted the aiosuspend()  function.
                Since  each asynchronous I/O operation might pro-
                voke a  signal  when  it  completes,  this  error
                return  can be caused by the completion of one or
                more of the very I/O operations being awaited.


     EINVAL     The nent argument is less than or equal to  0  or
                greater  than  AIOLISTIOMAX,  or  the timespec
                structure pointed to by timeout is  not  properly
                set  because  tvsec is less than 0 or tvnsec is
                either less than 0 or greater than 10^9.


     ENOMEM     There is currently not enough  available  memory;
                the application can try again later.


     ENOSYS     The aiosuspend() function is  not  supported  by
                the system.


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

ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Interface Stability          Committed                   
    
     MT-Level                     Async-Signal-Safe           
    
     Standard                     See standards(5).           
    


SEE ALSO
     aio.h(3HEAD), aiofsync(3C),  aioread(3C),  aioreturn(3C),
     aiowrite(3C),   liolistio(3C),   signal.h(3HEAD),   attri-
     butes(5), lf64(5), standards(5)





SunOS 5.11          Last change: 18 Dec 2008                    2






Standard C Library Functions                      aiosuspend(3C)



NOTES
     Solaris 2.6 was the first release to support  the  Asynchro-
     nous  Input  and  Output option. Prior to this release, this
     function always returned -1 and set errno to ENOSYS.



















































SunOS 5.11          Last change: 18 Dec 2008                    3



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™