mirror of
https://github.com/freebsd/freebsd-src
synced 2024-09-06 17:18:32 +00:00
Add a man page for aio_waitcomplete(). Update the aio_cancel() man page to
reflect the fact that aio_cancel() works now. Submitted by: Christopher Sedore <cmsedore@maxwell.syr.edu>
This commit is contained in:
parent
f555eeb897
commit
070dac0827
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=58420
|
@ -75,7 +75,7 @@ ${SPSEUDOR}:
|
|||
.if ${LIB} == "c"
|
||||
MAN2+= _exit.2 accept.2 access.2 acct.2 adjtime.2 \
|
||||
aio_cancel.2 aio_error.2 aio_read.2 aio_return.2 \
|
||||
aio_suspend.2 aio_write.2 \
|
||||
aio_suspend.2 aio_waitcomplete.2 aio_write.2 \
|
||||
bind.2 brk.2 chdir.2 chflags.2 \
|
||||
chmod.2 chown.2 chroot.2 clock_gettime.2 close.2 \
|
||||
connect.2 dup.2 execve.2 \
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd June 2, 1999
|
||||
.Dd January 19, 2000
|
||||
.Dt AIO_CANCEL 2
|
||||
.Os
|
||||
.Sh NAME
|
||||
|
@ -33,21 +33,41 @@
|
|||
.Sh SYNOPSIS
|
||||
.Fd #include <aio.h>
|
||||
.Ft int
|
||||
.Fn aio_cancel "int something" "struct aiocb * iocb"
|
||||
.Fn aio_cancel "int fildes" "struct aiocb * iocb"
|
||||
.Sh DESCRIPTION
|
||||
The
|
||||
.Fn aio_cancel
|
||||
function is supposed to cancel the specified outstanding asynchronous
|
||||
I/O request.
|
||||
function cancels the outstanding asynchronous
|
||||
I/O request for the file descriptor specified in
|
||||
.Ar fildes .
|
||||
If
|
||||
.Ar iocb
|
||||
is specified, only that specific asynchronous I/O request is cancelled.
|
||||
.Pp
|
||||
Normal asynchronous notification occurs for cancelled requests. Requests
|
||||
complete with an error result of
|
||||
.Dv ECANCELED .
|
||||
.Sh RESTRICTIONS
|
||||
The
|
||||
.Fn aio_cancel
|
||||
is not implemented at this time, and always fails returning
|
||||
.Dv ENOSYS .
|
||||
function does not cancel asynchronous I/O requests for raw disk devices. The
|
||||
.Fn aio_cancel
|
||||
function will always return
|
||||
.Dv AIO_NOTCANCELED
|
||||
for file descriptors associated with raw disk devices.
|
||||
.Sh RETURN VALUES
|
||||
When
|
||||
The
|
||||
.Fn aio_cancel
|
||||
inevitably fails, it returns
|
||||
.Dv ENOSYS
|
||||
to signify it is not supported.
|
||||
function returns -1 to indicate an error, or one of the following:
|
||||
.Bl -tag -width Dv
|
||||
.It Bq Dv AIO_CANCELED
|
||||
All outstanding requests meeting the criteria specified were cancelled.
|
||||
.It Bq Dv AIO_NOTCANCELED
|
||||
Some requests were not cancelled, status for the requests should be
|
||||
checked with aio_error(2).
|
||||
.It Bq Dv AIO_ALLDONE
|
||||
All of the requests meeting the criteria have finished.
|
||||
.El
|
||||
.Sh SEE ALSO
|
||||
.Xr aio_error 2 ,
|
||||
.Xr aio_read 2 ,
|
||||
|
@ -55,24 +75,35 @@ to signify it is not supported.
|
|||
.Xr aio_suspend 2 ,
|
||||
.Xr aio_write 2 .
|
||||
.Sh ERRORS
|
||||
The
|
||||
An error return from
|
||||
.Fn aio_cancel
|
||||
function currently always fails, due to:
|
||||
indicates:
|
||||
.Bl -tag -width Er
|
||||
.It Bq Er ENOSYS
|
||||
this operation is not implemented at this time.
|
||||
.It Bq Er EBADF
|
||||
.Ar fildes
|
||||
is an invalid file descriptor.
|
||||
.El
|
||||
.Sh STANDARDS
|
||||
.Nm
|
||||
fails to conform to the
|
||||
The
|
||||
.Fn aio_cancel
|
||||
function is expected to conform to the
|
||||
.St -p1003.2
|
||||
standard.
|
||||
.Sh HISTORY
|
||||
The
|
||||
.Nm
|
||||
.Fn aio_cancel
|
||||
function first appeared in
|
||||
.Fx 3.0 .
|
||||
The first functional implemenation of
|
||||
.Fn aio_cancel
|
||||
appeared in
|
||||
.Fx 4.0 .
|
||||
.Sh AUTHORS
|
||||
This
|
||||
manual page was written by
|
||||
manual page was originally written by
|
||||
.An Wes Peters Aq wes@softweyr.com .
|
||||
.An Christopher M Sedore Aq cmsedore@maxwell.syr.edu
|
||||
updated it when
|
||||
.Fn aio_cancel
|
||||
was implemented for FreeBSD 4.0.
|
||||
|
||||
|
|
129
lib/libc/sys/aio_waitcomplete.2
Normal file
129
lib/libc/sys/aio_waitcomplete.2
Normal file
|
@ -0,0 +1,129 @@
|
|||
.\" 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 SYNOPSIS
|
||||
.Fd #include <aio.h>
|
||||
.Ft int
|
||||
.Fn aio_waitcomplete "struct aiocb **iocbp, struct timeval *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
|
||||
.Ar 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
|
||||
.Ar timeout
|
||||
is a non-NULL pointer, it specifies a maximum interval to wait for a
|
||||
asynchronous I/O request to complete. If
|
||||
.Ar timeout
|
||||
is a NULL pointer,
|
||||
.Fn aio_waitcomplete
|
||||
waits indefinitely. To effect a poll, the
|
||||
.Ar 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
|
||||
.Ar iocbp .
|
||||
.Sh RETURN VALUES
|
||||
If an asynchronous I/O request has completed,
|
||||
.Ar 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
|
||||
.Dv 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 FreeBSD-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 .
|
Loading…
Reference in a new issue