aio_waitn man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

aio_waitn(3RT)		  Realtime Library Functions		aio_waitn(3RT)

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

SYNOPSIS
       cc [ flag... ] file... -lrt [ library... ]
       #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
       interval 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
       actual 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(3RT), aio_write(3RT), or lio_listio(3RT).

       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_error(3RT) and aio_return(3RT), respectively.

RETURN VALUES
       Upon  successful	 completion,  aio_waitn()  returns  0.	Otherwise,  it
       returns -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(5).

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

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Stable			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT-Level		     │Safe			   │
       └─────────────────────────────┴─────────────────────────────┘

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

SunOS 5.10			  18 Dec 2008			aio_waitn(3RT)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net