.\" Copyright (c) 1999 Softweyr LLC. .\" 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 BY Softweyr LLC AND CONTRIBUTORS ``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 Softweyr LLC 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_suspend.2,v 1.20 2004/07/02 23:52:13 ru Exp % .\" .\" $FreeBSD$ .Dd June 2, 1999 .Dt AIO_SUSPEND 2 .Os .Sh 名称 .Nm aio_suspend .Nd 非同期入出力操作完了、またはタイムアウト経過まで延期する (REALTIME) .Sh ライブラリ .Lb libc .Sh 書式 .In aio.h .Ft int .Fn aio_suspend "const struct aiocb * const iocbs[]" "int niocb" "const struct timespec * timeout" .Sh 解説 指定の非同期入出力要求のうち少なくとも 1 つが完了するか、 .Fa timeout が経過するまで .Fn aio_suspend システムコールは呼び出しプロセスを延期します。 .Pp .Fa iocbs 引数は、非同期入出力要求への .Fa niocb ポインタの配列です。 NULL が入っている配列メンバはそのまま無視されます。 .Pp .Fa timeout が NULL ポインタでない場合、それは延期する時間の最大間隔を指定します。 .Fa timeout が NULL ポインタの場合、無期限に延期します。 ポーリングするためには .Fa timeout は値 0 の timespec 構造体を指しているべきです。 .Sh 戻り値 指定された 1 つ以上の非同期入出力要求が完了すると .Fn aio_suspend は 0 を返します。 そうでない場合は -1 を返し、後述するように .Va errno がエラー状態を示すためにセットされます。 .Sh エラー .Fn aio_suspend システムコールは次の場合に失敗します: .Bl -tag -width Er .It Bq Er EAGAIN 入出力要求がどれも完了しないうちに .Fa timeout が時間切れになりました。 .It Bq Er EINVAL .Fa iocbs 引数に .Dv AIO_LISTIO_MAX を越える非同期入出力要求が入っているか、または少なくとも 1 つの要求が 有効ではありません。 .It Bq Er EINTR 延期はシグナルによって割り込みされました。 .El .Sh 関連項目 .Xr aio_cancel 2 , .Xr aio_error 2 , .Xr aio_return 2 , .Xr aio_waitcomplete 2 , .Xr aio_write 2 , .Xr aio 4 .Sh 規格 .Fn aio_suspend システムコールは .St -p1003.1 標準に適合しています。 .Sh 歴史 .Fn aio_suspend システムコールは .Fx 3.0 ではじめて登場しました。 .Sh 作者 このマニュアルページは .An Wes Peters Aq wes@softweyr.com が作成しました。