SYNC(2) | Linux Programmer's Manual | SYNC(2) |
名前
sync, syncfs -バッファキャッシュをディスクに書き込む書式
#include <unistd.h>glibc 向けの機能検査マクロの要件 ( feature_test_macros(7) 参照):
_BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
_GNU_SOURCE
説明
sync() を呼び出すと、バッファされたファイルのメタデータとデータ本体に対して行われた全ての変更が、対応するファイルシステムに書き込まれる。返り値
syncfs() は成功すると 0 を返す。エラーが発生した場合は-1 を返し、 errno にエラーを示す値を設定する。エラー
sync() は常に成功する。- EBADF
- fd が有効なファイルディスクリプタでない。。
バージョン
syncfs() は Linux 2.6.39 で初めて登場した。ライブラリによるサポートは glibc バージョン 2.14 で追加された。準拠
sync(): SVr4, 4.3BSD, POSIX.1-2001.注意
Linux での sync() のプロトタイプは、さまざまな標準規格での規定に準拠し、 glibc 2.2.2 から上述のようになった。 libc4, libc5 と、2.2.1 までの glibc ではプロトタイプは "int sync(void)"で、 sync() は常に 0 を返していた。バグ
標準規格 (例えば POSIX.1-2001) によると、 sync() は書き込むことを予定に組み込むのみで実際に書き込みが終了する前に戻ってもよいことになっている。一方で Linux はバージョン 1.3.20 からは書き込みが終了するまで待つ。 (最近のディスクは大きなキャッシュを持っているため、これはデータの完全性 (data integrity) までは保証していない。)
関連項目
bdflush(2), fdatasync(2), fsync(2), sync(8), update(8)この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2012-05-04 | Linux |