fsync(2) fsync(2)
NAME
fsync - Dateizustand synchronisieren
SYNTAX
#include <unistd.h>
int fsync(int fildes);
BESCHREIBUNG
fsync() schreibt alle modifizierten Daten und Attribute von fildes auf
das Speichermedium. Wenn fsync() ausgeführt ist, wurden alle Kopien
von fildes, die sich in Puffern befanden, auf das physische Speicher-
medium geschrieben. fsync() unterscheidet sich von sync() in dem
Sinne, daß sync() die Zustände aller gepufferten Dateien aktualisiert
und zurückkehrt, bevor die Aktualisierung beendet ist.
fsync() sollte von Programmen verwendet werden, die ihre Ausführung
erst fortsetzen, wenn die Modifikation einer Datei abgeschlossen ist.
Enthält ein Programm beispielsweise eine einfache Transaktionsmöglich-
keit, kann mit fsync() sichergestellt werden, daß alle transaktionsbe-
dingten Änderungen an einer oder mehreren Dateien durchgeführt worden
sind.
fsync() schlägt fehl, wenn eine oder mehrere der folgenden Bedingungen
erfüllt sind:
EBADF fildes ist kein gültiger Dateideskriptor, der zum Schreiben
geöffnet ist.
ENOLINK fildes befindet sich auf einem fernen Rechner, und der Ver-
weis auf diesem Rechner ist nicht länger aktiv.
EINTR Während der Ausführung von fsync() wurde ein Signal empfan-
gen.
EIO Ein E/A-Fehler trat während des Lesens oder Schreibens im
Dateisystem auf.
ERGEBNIS
Nach der erfolgreichen Beendigung wird der Wert 0 zurückgeliefert.
Ansonsten wird der Wert -1 zurückgegeben und errno gesetzt, um den
Fehler zu bestimmen.
HINWEISE
Der Weg, auf den die Daten das physische Medium erreichen, hängt von
der Implementierung und der Hardware ab. fsync() kehrt zurück, wenn
der Gerätetreiber anzeigt, daß er Schreibvorgang stattgefunden hat.
SIEHE AUCH
sync(2).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98