diff options
Diffstat (limited to 'lib/libc/sys/aio_waitcomplete.2')
-rw-r--r-- | lib/libc/sys/aio_waitcomplete.2 | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/lib/libc/sys/aio_waitcomplete.2 b/lib/libc/sys/aio_waitcomplete.2 new file mode 100644 index 0000000..de01283 --- /dev/null +++ b/lib/libc/sys/aio_waitcomplete.2 @@ -0,0 +1,136 @@ +.\" Copyright (c) 1999 Christopher M Sedore. +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd January 19, 2000 +.Dt AIO_WAITCOMPLETE 2 +.Os +.Sh NAME +.Nm aio_waitcomplete +.Nd wait for the next completion of an aio request +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In aio.h +.Ft int +.Fn aio_waitcomplete "struct aiocb **iocbp" "struct timespec *timeout" +.Sh DESCRIPTION +The +.Fn aio_waitcomplete +function waits for completion of an asynchronous I/O request. +Upon completion, +.Fn aio_waitcomplete +returns the result of the function and sets +.Fa iocbp +to point to the structure associated with the original request. +If an asynchronous I/O request is completed before +.Fn aio_waitcomplete +is called, it returns immediately with the completed request. +.Pp +If +.Fa timeout +is a non-NULL pointer, it specifies a maximum interval to wait for a +asynchronous I/O request to complete. +If +.Fa timeout +is a NULL pointer, +.Fn aio_waitcomplete +waits indefinitely. +To effect a poll, the +.Fa timeout +argument should be non-NULL, pointing to a zero-valued timeval structure. +.Pp +The +.Fn aio_waitcomplete +function also serves the function of +.Fn aio_return , +thus +.Fn aio_return +should not be called for the control block returned in +.Fa iocbp . +.Sh RETURN VALUES +If an asynchronous I/O request has completed, +.Fa iocbp +is set to point to the control block passed with the original request, +and the status is returned as described in +.Xr read 2 , +.Xr write 2 , +or +.Xr fsync 2 . +On failure, +.Fn aio_waitcomplete +returns +.Dv -1 , +sets iocbp to +.Dv NULL +and sets +.Va errno +to indicate the error condition. +.Sh ERRORS +The +.Fn aio_waitcomplete +function fails if: +.Bl -tag -width Er +.It Bq Er EINVAL +The specified time limit is invalid. +.It Bq Er EAGAIN +The process has not yet called +.Fn aio_read +or +.Fn aio_write . +.It Bq Er EINTR +A signal was delivered before the timeout expired and before any +asynchronous I/O requests completed. +.It Bq Er EWOULDBLOCK +.It Bq Er EINPROGRESS +The specified time limit expired before any asynchronous I/O requests +completed. +.El +.Sh SEE ALSO +.Xr aio_cancel 2 , +.Xr aio_error 2 , +.Xr aio_read 2 , +.Xr aio_return 2 , +.Xr aio_suspend 2 , +.Xr aio_write 2 , +.Xr fsync 2 , +.Xr read 2 , +.Xr write 2 +.Sh STANDARDS +The +.Fn aio_waitcomplete +function is a +.Fx Ns -specific +extension. +.Sh HISTORY +The +.Fn aio_waitcomplete +function first appeared in +.Fx 4.0 . +.Sh AUTHORS +The +.Fn aio_waitcomplete +function and this manual page were written by +.An Christopher M Sedore Aq cmsedore@maxwell.syr.edu . |