tail head cat sleep
QR code linking to this page

manページ  — AIO_SUSPEND

名称

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

内容

ライブラリ

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 が 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> が作成しました。

AIO_SUSPEND (2) June 2, 1999

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.