aio_suspend(2) FreeBSD 一般コマンドマニュアル

aio_suspend

前のページ 上に戻る 次のページ

aio_suspend


     Standard C Library (libc, -lc)


書式

     #include <aio.h>

     int
     aio_suspend(const struct aiocb * const iocbs[], int niocb,
             const struct timespec * timeout);


解説

     指定の非同期入出力要求のうち少なくとも 1 つが完了するか、 timeout が経過
     するまで aio_suspend() 関数は呼び出しプロセスを延期します。

     iocbs は、非同期入出力要求への niocb ポインタの配列です。 NULL が入ってい
     る配列メンバはそのまま無視されます。

     timeout がヌルポインタでない場合、それは延期する時間の最大インターバルを
     指定します。 timeout がヌルポインタの場合、無期限に延期します。ポーリング
     するためには timeout は値 0 の timespec 構造体を指しているべきです。


戻り値

     指定された 1 つ以上の非同期入出力要求が完了すると aio_suspend() は 0 を返
     します。そうでない場合は -1 を返し、後述するように errno がエラー状態を示
     すためにセットされます。


関連項目

     aio_cancel(2), aio_error(2), aio_read(2), aio_suspend(2), aio_write(2)


エラー

     aio_suspend() 関数は次の場合に失敗します。

     [EAGAIN]           入出力要求がどれも完了しないうちに timeout が時間切れ
                        になりました。

     [EINVAL]           iocbs には AIO_LISTIO_MAX を越える非同期入出力要求が
                        入っているか、または少なくとも 1 つの要求が有効ではあ
                        りません。

     [EINTR]            延期はシグナルによって割り込みされました。


規格

     aio_suspend() は IEEE Std 1003.2 (``POSIX.2'') 標準に準拠しています。


歴史

     aio_suspend 関数は FreeBSD 3.0 ではじめて登場しました。


作者

     このマニュアルページは Wes Peters <wes@softweyr.com> が作成しました。

FreeBSD 4.4                      June 2, 1999                      FreeBSD 4.4

ABELNET VPSサービス