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
Copyright © 2010-2024 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout