1 .\" Copyright (c) 1999 Christopher M Sedore.
2 .\" All rights reserved.
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\" notice, this list of conditions and the following disclaimer in the
11 .\" documentation and/or other materials provided with the distribution.
13 .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND
14 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 .Dt AIO_WAITCOMPLETE 2
32 .Nd wait for the next completion of an aio request
36 .Fn aio_waitcomplete "struct aiocb **iocbp, struct timespec *timeout"
40 function waits for completion of an asynchronous I/O request. Upon completion,
42 returns the result of the function and sets
44 to point to the structure associated with the original request. If an
45 asynchronous I/O request is completed before
47 is called, it returns immediately with the completed request.
51 is a non-NULL pointer, it specifies a maximum interval to wait for a
52 asynchronous I/O request to complete. If
56 waits indefinitely. To effect a poll, the
58 argument should be non-NULL, pointing to a zero-valued timeval structure.
62 function also serves the function of
66 should not be called for the control block returned in
69 If an asynchronous I/O request has completed,
71 is set to point to the control block passed with the original request, and
72 the status is returned as described in
85 to indicate the error condition.
92 The specified time limit is invalid.
94 The process has not yet called
99 A signal was delivered before the timeout expired and before any
100 asynchronous I/O requests completed.
101 .It Bq Er EWOULDBLOCK
102 .It Bq Er EINPROGRESS
103 The specified time limit expired before any asynchronous I/O requests
119 function is a FreeBSD-specific extension.
123 function first appeared in
128 function and this manual page were written by
129 .An Christopher M Sedore Aq cmsedore@maxwell.syr.edu .