doc/ja_JP.eucJP/man/man2/aio_waitcomplete.2
Kazuo Horikawa cb5d1a9147 Replace jpman project specific RCS keyword with $FreeBSD.
jpman project specific RCS keyword (jpman %Id) is obsolete,
after manual entries are stored in freefall CVS repository.
This old Id is useless and more worse it confuses users and bug reporters.
So, this old Id is removed.

Submitted by:jpman project <man-jp@jp.FreeBSD.org>
2001-05-14 01:10:24 +00:00

134 lines
3.6 KiB
Groff

.\" 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: src/lib/libc/sys/aio_waitcomplete.2,v 1.1.2.5 2001/03/06 16:46:06 ru Exp %
.\"
.\" $FreeBSD$
.Dd January 19, 2000
.Dt AIO_WAITCOMPLETE 2
.Os
.Sh 名称
.Nm aio_waitcomplete
.Nd 非同期入出力要求の完了までの待機
.Sh ライブラリ
.Lb libc
.Sh 書式
.Fd #include <aio.h>
.Ft int
.Fn aio_waitcomplete "struct aiocb **iocbp" "struct timespec *timeout"
.Sh 解説
.Fn aio_waitcomplete
関数は非同期入出力の完了まで待ちます。完了次第、
.Fn aio_waitcomplete
はその関数の結果を返し、
元の要求に関連する構造体へのポインタを
.Fa iocbp
にセットします。もし、
.Fn aio_waitcomplete
関数が呼び出される前に非同期入出力要求が完了していた場合には、
完了した要求の結果を即座に返します。
.Pp
.Fa timeout
がヌルポインタでない場合、それは非同期入出力要求が完了するまで
待機する最大時間を指定します。
.Fa timeout
がヌルポインタの場合は、
.Fn aio_waitcomplete
は無期限に待機します。
ポーリングする場合は、
引数
.Fa timeout
はヌルではなく、0 の値を持つ timeval 構造体を指すようにするべきです。
.Pp
.Fn aio_waitcomplete
関数は
.Fn aio_return
の役割もします。従って、
コントロールブロックは
.Fa iocbp
で返されているので、
.Fn aio_return
を呼び出すべきではありません。
.Sh 戻り値
非同期入出力リクエストが完了した場合、
.Fa iocbp
に元のリクエストから渡されたコントロールブロックを指すポインタを設定し、
.Xr read 2 ,
.Xr write 2 ,
.Xr fsync 2
で述べられているのと同様のステータスを返します。
失敗した場合、
.Fn aio_waitcomplete
.Dv -1
を返し、iocbp に
.Dv NULL
を設定します。そして、
.Va errno
にエラーの状況を設定します。
.Sh エラー
.Fn aio_waitcomplete
関数は次の場合に失敗します:
.Bl -tag -width Er
.It Bq Er EINVAL
指定された制限時間が無効です。
.It Bq Er EAGAIN
プロセスはまだ
.Fn aio_read
.Fn aio_write
を呼び出していません。
.It Bq Er EINTR
タイムアウトする前で、かつ
非同期入出力リクエストが完了する前にシグナルが届きました。
.It Bq Er EWOULDBLOCK
.It Bq Er EINPROGRESS
非同期入出力リクエストが完了する前に、指定された制限時間に達しました。
.El
.Sh 参照
.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 規格
.Fn aio_waitcomplete
関数は
.Fx
特有の拡張です。
.Sh 歴史
.Fn aio_waitcomplete
関数は
.Fx 4.0
ではじめて登場しました。
.Sh 作者
.Fn aio_waitcomplete
関数とこのマニュアルページは
.An Christopher M Sedore Aq cmsedore@maxwell.syr.edu
が作成しました。