非同期 I/O 操作の 1 つが完了するまで、呼び出し元プロセスを中断します。
構文
int aio_suspend(const struct aiocb * const cblist[], int n, const struct timespec *timeout);
|
引数
cblist[] |
I/O が開始された制御ブロックへのポインター
|
n |
cblist リストの長さ
|
*timeout |
呼び出し元プロセスを中断する時間
|
説明
aio_suspend() 関数は、待機操作に似ています。次のタイミングまで、呼び出し元プロセスを中断します。
- 長さ n の cblist リストにある少なくとも 1 つの非同期 I/O 要求が完了する
- 信号が送られる
- timeout の値が NULL ではなく、その時間が経過する
cblist リストの各項目は、NULL (無視される) か、または aio_read()、aio_write()、lio_listio() 関数のいずれかにより I/O が開始された制御ブロックへのポインターでなければなりません。
戻り値
0 : 成功
-1 : エラー
正確なエラーコードを取得するには、errno を使用します。