SYNC

Section: Linux Programmer's Manual (2)
Updated: 2007-07-26
Index JM Home Page roff page
 

名前

sync - バッファキャッシュをディスクに書き込む  

書式

#include <unistd.h>

void sync(void);

glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):

sync(): _BSD_SOURCE || _XOPEN_SOURCE >= 500  

説明

sync() はまず inode をバッファへ書き込み、 それからバッファ(buffer)をディスクへ書き込む。  

エラー

この関数は常に成功する。  

準拠

SVr4, 4.3BSD, POSIX.1-2001.  

注意

さまざまな標準規格での規定にしたがって、 glibc 2.2.2 から Linux でのプロトタイプは上述のようになった。 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)


 

Index

名前
書式
説明
エラー
準拠
注意
バグ
関連項目

This document was created by man2html, using the manual pages.
Time: 04:32:06 GMT, November 19, 2007