名 前
aio_fsync − 非 同 期 フ ァ イ ル を 同 期 さ せ る
書 式
#include <aio.h>
int aio_fsync(int op, struct aiocb *aiocbp);
−lrt で リ ン ク す る 。
説 明
aio_fsync() 関 数 は 、 aiocbp−>aio_fildes で 関 連 付 け ら れ て い る ま だ 完 了 し て い な い 全 て の 非 同 期 I/O 操 作 を 同 期 さ せ る 。 (aiocb 構 造 体 の 説 明 は aio(7) を 参 照 ) よ り 正 確 に 言 う と 、 op が O_SYNC の 場 合 、 現 在 キ ュ ー に 入 れ ら れ て い る 全 て の I/O 操 作 は 、 fsync(2) が 呼 ば れ た か の よ う に 完 了 さ れ る だ ろ う 。 ま た op が O_DSYNC の 場 合 、 こ の 呼 び 出 し は fdatasync(2) の 非 同 期 版 と な る 。 こ の 関 数 は リ ク エ ス ト を 行 う だ け で あ る 点 に 注 意 す る こ と 。 I/O の 完 了 の 待 ち 合 わ せ は 行 わ な い 。
aiocbp で 指 さ れ る 構 造 体 の フ ィ ー ル ド の う ち 、 こ の 呼 び 出 し で aio_fildes 以 外 に 使 用 さ れ る の は aio_sigevent フ ィ ー ル ド (sigevent 構 造 体 、 説 明 は sigevent(7) 参 照 ) の み で あ る 。 こ の フ ィ ー ル ド は 、 完 了 時 の 非 同 期 通 知 に 使 用 し た い タ イ プ を 示 す 。 そ の 他 の フ ィ ー ル ド は 無 視 さ れ る 。
返 り 値
成 功 し た 場 合 (同 期 リ ク エ ス ト を キ ュ ー に 入 れ る の に 成 功 し た 場 合 )、 こ の 関 数 は 0 を 返 す 。 エ ラ ー の 場 合 、 −1 が 返 さ れ 、 errno が 適 切 に 設 定 さ れ る 。
エ ラ ー
EAGAIN リ ソ ー ス が 足 り な い 。 |
||
EBADF |
aio_fildes が 書 き 込 み の た め に オ ー プ ン さ れ た 有 効 な フ ァ イ ル デ ィ ス ク リ プ タ ー で は な い 。
EINVAL こ の フ ァ イ ル で は 同 期 |
I/O が サ ポ ー ト さ れ て い な い 。 ま た は op が |
O_SYNC で も O_DSYNC で も な い 。
ENOSYS |
aio_fsync() は 実 装 さ れ て い な い 。 |
バ ー ジ ョ ン
The aio_fsync() 関 数 は glibc 2.1 以 降 で 利 用 で き る 。
準 拠
POSIX.1−2001, POSIX.1−2008.
関 連 項 目
aio_cancel(3), aio_error(3), aio_read(3), aio_return(3), aio_suspend(3), aio_write(3), lio_listio(3), aio(7), sigevent(7)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。