Man page - aio_suspend(3)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

AIO_SUSPEND

名 前
書 式
説 明
返 り 値
エ ラ ー
バ ー ジ ョ ン
属 性
準 拠
注 意
バ グ
関 連 項 目
こ の 文 書 に つ い て

名 前

aio_suspend - 非 同 期 I/O 操 作 ま た は タ イ ム ア ウ ト を 待 つ

書 式

#include <aio.h>

int aio_suspend(const struct aiocb * const aiocb_list [],
int
nitems , const struct timespec * timeout );

-lrt で リ ン ク す る 。

説 明

aio_suspend () 関 数 は 、 以 下 の い ず れ か が 発 生 す る ま で 呼 び 出 し た ス レ ッ ド の 実 行 を 停 止 (suspend) す る 。

*

aiocb_list リ ス ト 内 の 非 同 期 I/O リ ク エ ス ト の う ち 、 少 な く と も 一 つ が 完 了 し た 。

*

シ グ ナ ル が 配 送 さ れ た 。

*

timeout が NULL で な い 場 合 に 、 指 定 し た 時 間 が 経 過 し た ( timespec 構 造 体 の 詳 細 は nanosleep (2) を 参 照 )。

nitems 引 数 は aiocb_list の 要 素 数 を 指 定 す る 。 aiocb_list が 指 す リ ス ト の 各 要 素 は 、 NULL (こ れ は 無 視 さ れ る ) か 、 aio_read (3), aio_write (3), lio_listio (3) を 使 っ て I/O が 開 始 さ れ た 制 御 ブ ロ ッ ク へ の ポ イ ン タ ー で な け れ ば な ら な い 。 ( aiocb 構 造 体 の 説 明 は aio (7) を 参 照 )

CLOCK_MONOTONIC が サ ポ ー ト さ れ る 場 合 、 こ の ク ロ ッ ク を 使 っ て タ イ ム ア ウ ト の 間 隔 が 計 測 さ れ る ( clock_gettime (3) を 参 照 )。

返 り 値

aiocb_list で 指 定 さ れ た I/O リ ク エ ス ト の 1 つ が 完 了 し た 後 に こ の 関 数 が 返 っ た 場 合 は 、 0 が 返 さ れ る 。 そ れ 以 外 の 場 合 は 、 -1 が 返 り 、 errno に エ ラ ー を 示 す 値 に 設 定 さ れ る 。

エ ラ ー

EAGAIN

指 示 さ れ た 操 作 の ど れ も 完 了 し な い う ち に 、 呼 び 出 し が タ イ ム ア ウ ト し た 。

EINTR

こ の 呼 び 出 し が シ グ ナ ル に よ っ て 終 了 さ せ ら れ た (こ の シ グ ナ ル は 、 完 了 を 待 っ て い た 操 作 の い ず れ か の 完 了 シ グ ナ ル の 可 能 性 も あ る )。 signal (7) 参 照 。

ENOSYS

aio_suspend () は 実 装 さ れ て い な い 。

バ ー ジ ョ ン

The aio_suspend () 関 数 は glibc 2.1 以 降 で 利 用 で き る 。

属 性

こ の 節 で 使 用 さ れ て い る 用 語 の 説 明 に つ い て は 、 attributes (7) を 参 照 。

Image grohtml-31309-1.png

準 拠

POSIX.1-2001, POSIX.1-2008.

注 意

時 間 間 隔 が 0 で あ る こ と を 指 定 す る NULL で は な い timeout を 使 っ て 、 ポ ー リ ン グ を 行 う こ と も で き る 。

aiocb_list リ ス ト で 指 定 し た 非 同 期 I/O 操 作 の う ち 、 aio_suspend () を 呼 び 出 し た 時 点 で す で に 完 了 し た も の が あ る 場 合 、 aio_suspend () は す ぐ に 返 る 。

aio_suspend () が 成 功 で 返 っ た 後 で ど の I/O 操 作 が 完 了 し た か を 特 定 す る に は 、 aio_error (3) を 使 っ て aiocb_list が 指 す aiocb 構 造 体 の リ ス ト を ス キ ャ ン す る 。

バ グ

aio_suspend () の glibc 実 装 は 、 POSIX.1 の 要 件 を 満 た し て い な い が 、 async-signal-safe (非 同 期 シ グ ナ ル で 安 全 ) で は な い 。

関 連 項 目

aio_cancel (3), aio_error (3), aio_fsync (3), aio_read (3), aio_return (3), aio_write (3), lio_listio (3), aio (7), time (7)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。