doc/ja_JP.eucJP/man/man2/aio_waitcomplete.2
Kazuo Horikawa 68ead3236f Catch up with 5.0-CURRENT-20030222-JPSNAP
Submitted by:	Akira Ikeuchi <a_ikeuchi@mic.mitsumi.co.jp>
2003-04-06 21:33:56 +00:00

137 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.13 2002/12/18 09:22:30 ru Exp %
.\"
.\" $FreeBSD$
.Dd January 19, 2000
.Dt AIO_WAITCOMPLETE 2
.Os
.Sh 名称
.Nm aio_waitcomplete
.Nd 非同期入出力要求の完了までの待機
.Sh ライブラリ
.Lb libc
.Sh 書式
.In 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
が NULL ポインタでない場合、それは非同期入出力要求が完了するまで
待機する最大時間を指定します。
.Fa timeout
が NULL ポインタの場合は、
.Fn aio_waitcomplete
は無期限に待機します。
ポーリングする場合は、
引数
.Fa timeout
は NULL ではなく、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 ,
.Xr aio 4
.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
が作成しました。