aio_fsync - ライブラリコールの説明 - Linux コマンド集 一覧表
名前
aio_fsync - 非同期ファイルを同期させる
書式
"#include <aio.h>"
int aio_fsync(int
op
, struct aiocb *
aiocbp
);
説明
aio_fsync ()関数は、 aiocbp->aio_fildes で関連付けられているまだ完了していない全ての非同期 I/O 操作を同期させる。
より正確に言うと、 op が O_SYNC の場合、現在キューに入れられている全ての I/O 操作は、 fsync (2) が呼ばれたかのように完了されるだろう。 また op が O_DSYNC の場合、この呼び出しは fdatasync (2) の非同期版となる。 この関数はリクエストを行うだけである点に注意すること \(em この呼び出しは I/O の完了を待たない。
aiocbp で指される構造体のフィールドのうち、この呼び出しで aio_fildes 以外に使用されるのは aio_sigevent フィールド (struct sigevent) のみである。 このフィールドは、完了時の非同期通知に使用したいタイプを示す。 その他のフィールドは無視される。
返り値
成功した場合 (同期リクエストをキューに入れるのに成功した場合)、 この関数は 0 を返す。 エラーの場合、-1 が返され、 errno が適切に設定される。
エラー
- EAGAIN
- リソースが足りない。
- EBADF
- aio_fildes が書き込みのためにオープンされた有効なファイルディスクリプタではない。
- EINVAL
- このファイルに対する同期 I/O がサポートされていない。 または op が O_SYNC でも O_DSYNC でもない。
準拠
POSIX.1-2001