FreeBSD 6.2 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



      aio_waitcomplete - wait for the next completion of an aio request


      Standard C Library (libc, -lc)


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


      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
      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.


      The aio_waitcomplete() system call fails if:
      [EINVAL]           The specified time limit is invalid.
      [EAGAIN]           The process has not yet called aio_read() or
      [EINTR]            A signal was delivered before the timeout expired and
                         before any asynchronous I/O requests completed.
      [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)


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


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


      The aio_waitcomplete() system call and this manual page were written by
      Christopher M Sedore 〈〉.


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.