FreeBSD 7.0 manual page repository

FreeBSD is a free computer operating system based on BSD UNIX originally. Many IT companies, like DeployIS is using it to provide an up-to-date, stable operating system.

aio_waitcomplete - wait for the next completion of an aio request

 

NAME

      aio_waitcomplete - wait for the next completion of an aio request
 

LIBRARY

      Standard C Library (libc, -lc)
 

SYNOPSIS

      #include <aio.h>
 
      int
      aio_waitcomplete(struct aiocb **iocbp, struct timespec *timeout);
 

DESCRIPTION

      The aio_waitcomplete() system call waits for completion of an asyn‐
      chronous I/O request.  Upon completion, aio_waitcomplete() returns the
      result of the function and sets iocbp to point to the structure associ‐
      ated with the original request.  If an asynchronous I/O request is com‐
      pleted before aio_waitcomplete() is called, it returns immediately with
      the completed request.
 
      If timeout is a non-NULL pointer, it specifies a maximum interval to wait
      for a asynchronous I/O request to complete.  If timeout is a NULL
      pointer, aio_waitcomplete() waits indefinitely.  To effect a poll, the
      timeout argument should be non-NULL, pointing to a zero-valued timeval
      structure.
 
      The aio_waitcomplete() system call also serves the function of
      aio_return(), thus aio_return() should not be called for the control
      block returned in iocbp.
      If an asynchronous I/O request has completed, iocbp is set to point to
      the control block passed with the original request, and the status is
      returned as described in read(2), write(2), or fsync(2).  On failure,
      aio_waitcomplete() returns -1, sets iocbp to NULL and sets errno to indi‐
      cate the error condition.
 

ERRORS

      The aio_waitcomplete() system call fails if:
 
      [EINVAL]           The specified time limit is invalid.
 
      [EAGAIN]           The process has not yet called aio_read() or
                         aio_write().
 
      [EINTR]            A signal was delivered before the timeout expired and
                         before any asynchronous I/O requests completed.
 
      [EWOULDBLOCK]
 
      [EINPROGRESS]      The specified time limit expired before any asyn‐
                         chronous I/O requests completed.
      aio_cancel(2), aio_error(2), aio_read(2), aio_return(2), aio_suspend(2),
      aio_write(2), fsync(2), read(2), write(2), aio(4)
 

STANDARDS

      The aio_waitcomplete() system call is a FreeBSD-specific extension.
 

HISTORY

      The aio_waitcomplete() system call first appeared in FreeBSD 4.0.
 

AUTHORS

      The aio_waitcomplete() system call and this manual page were written by
      Christopher M Sedore 〈cmsedore@maxwell.syr.edu〉.
 

Sections

Based on BSD UNIX
FreeBSD is an advanced operating system for x86 compatible (including Pentium and Athlon), amd64 compatible (including Opteron, Athlon64, and EM64T), UltraSPARC, IA-64, PC-98 and ARM architectures. It is derived from BSD, the version of UNIX developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in various stages of development.