SIMPLE SOLUTIONS

AIO_FSYNC(3) - Linux manual

非同期ファイルを同期させる.

2012-05-08
AIO_FSYNC(3) Linux Programmer's Manual AIO_FSYNC(3)

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/ に書かれている。
2012-05-08 AIO_FSYNC(3)
aio_fsync(3).txt (日本語 / Japanese)
Index English version of aio_fsync(3)
Go top