スポンサーリンク

FSYNC(2) FreeBSD システムコールマニュアル FSYNC(2)

名称

fsync − ファイルに変更を同期する

ライブラリ

標準 C ライブラリ (libc, −lc)

書式

#include <unistd.h>

int

fsync(int fd);

解説

fsync() システムコールによって、 fd の修正されたすべてのデータと属性が永 続的なストレージデバイスに移動されます。これによって、対応するファイルに 関するバッファのすべてのメモリ上のコピーで、修正された物がディスクに書き 込まれる結果になるのが普通です。

fsync() システムコールは、ファイルが既知の状態にあることを要求するプログ ラムによって使用される必要があります。たとえば、簡単なトランザクション機 能の構築です。

戻り値

関数 fsync() は、処理が成功すると値 0 を返します。そうでない場合、値 -1 が返され、グローバル変数 errno が設定されてエラーを示します。

エラー

fsync() は次の場合に失敗します:

       [EBADF]

fd 引数が有効な記述子ではありません。

[EINVAL]
fd
引数がファイルではなくソケットを参照しています。

[EIO]
ファイルシステムに読み書きしている間に入出力エラーが発 生しました。

関連項目

sync(2), syncer(4), sync(8)

歴史

fsync() システムコールは 4.2BSD で登場しました。

FreeBSD 10.0 June 4, 1993 FreeBSD 10.0

スポンサーリンク