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.

Using Unix is the computing equivalent of listening only to music by David Cassidy
— Rob Pike