aio_waitcomplete(2)
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 asynchronous I/O request. Upon completion, aio_waitcomplete()
- returns the
result of the function and sets iocbp to point to the struc - ture associated with the original request. If an asynchronous I/O re
- quest is completed before aio_waitcomplete() is called, it returns imme
- diately with
the completed request. - If timeout is a non-NULL pointer, it specifies a maximum in
- terval 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-val - ued 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.
RETURN VALUES
- 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 indicate 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 com
- pleted.
- [EWOULDBLOCK]
- [EINPROGRESS] The specified time limit expired before
- any asyn
- chronous I/O requests completed.
SEE ALSO
- 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 ex
- tension.
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>. - BSD January 19, 2000