AIO_WAITCOMPLETE(2) BSD System Calls Manual AIO_WAITCOMPLETE(2)NAMEaio_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() function 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 structure associated with the
original request. If an asynchronous I/O request is completed 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() function 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 indi‐
cate the error condition.
ERRORS
The aio_waitcomplete() function 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 asynchro‐
nous I/O requests completed.
SEE ALSOaio_cancel(2), aio_error(2), aio_read(2), aio_return(2), aio_suspend(2),
aio_write(2), fsync(2), read(2), write(2)STANDARDS
The aio_waitcomplete() function is specific to FreeBSD and DragonFly.
HISTORY
The aio_waitcomplete() function first appeared in FreeBSD 4.0.
AUTHORS
The aio_waitcomplete() function and this manual page were written by
Christopher M Sedore ⟨cmsedore@maxwell.syr.edu⟩.
BSD January 19, 2000 BSD