スポンサーリンク

AIO_SUSPEND(2) FreeBSD システムコールマニュアル AIO_SUSPEND(2)

名称

aio_suspend − 非同期入出力操作完了、またはタイムアウト経過まで延期する (REALTIME)

ライブラリ

標準 C ライブラリ (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 が NULL ポインタでない場合、それは延期する時間の最大間隔を指定し ます。 timeout が NULL ポインタの場合、無期限に延期します。ポーリングする ためには timeout は値 0 の timespec 構造体を指しているべきです。

戻り値

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

エラー

aio_suspend() システムコールは次の場合に失敗します:

       [EAGAIN]

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

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

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

関連項目

aio_cancel(2), aio_error(2), aio_return(2), aio_waitcomplete(2), aio_write(2), aio(4)

規格

aio_suspend() システムコールは IEEE Std 1003.1 (‘‘POSIX.1’’) 標準に適合し ています。

歴史

aio_suspend() システムコールは FreeBSD 3.0 ではじめて登場しました。

作者

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

FreeBSD 10.0 June 2, 1999 FreeBSD 10.0

スポンサーリンク