Teil von SELFHTML aktuell Teil von Artikel Teil von Programmiertechnik Teil von Sperren von Dateien

Sperren von Dateien: Sperren von Dateien, die über das Netzwerk eingebunden sind

nach unten Allgemeines

Allgemeines

Falls eine Datei auf einem Dateisystem liegt, das über das Netzwerk eingebunden ist (zum Beispiel ein Netzlaufwerk unter Windows oder NFS unter UNIX-artigen Betriebssystemen), dann kann das Sperren von Dateien problematisch sein:

Das heißt: Wenn man Dateien auf Netzwerkdateisystemen sperren will, dann sollte man unter UNIX-artigen Betriebssystemen immer zu Methoden greifen, die fcntl(2) nutzen, also die gleichen Methoden, wie im Abschnitt Seite Programmiersprachenübergreifende Sperren empfohlen wird - was wiederum Konsequenzen auf die Abschottung gegenüber anderen Threads hat.

Allerdings kann man selbst von der prinzipiellen Unterstützung nicht darauf schließen, dass das Sperren tatsächlich funktioniert. Denn Sperren lassen sich in der Konfiguration des Dateiservers in der Regel auch deaktivieren, ferner sind gerade Betriebssysteme, die eine ältere NFS-Version nutzen, oftmals falsch konfiguriert, so dass die Sperren nicht greifen. Zudem ist es unter Umständen nicht möglich zu erkennen, ob die Sperre funktioniert, oder nicht, denn unter manchen Betriebssystemen reagiert die Sperrfunktion so, als ob sie funktioniert hätte, obwohl nichts passiert ist.

Daher ist eher davon abzuraten, Sperren auf Dateisystemen zu verwenden, die über das Netzwerk eingebunden wurden. Wenn dies unumgänglich ist, sollte vorher gut getestet werden, ob die gewünschte Methode auch tatsächlich wie gewünscht funktioniert. Dafür ist es sinnvoll, mit Testscripten zu arbeiten, die versuchen, Dateien zu sperren, aber zwischendurch immer mal wieder an bestimmten Stellen für einige Zeit warten, bevor sie den nächsten Schritt ausführen, damit man potentielle race conditions gezielt manuell nachstellen kann.

zurück Seite Programmiersprachenübergreifende Sperren

Teil von SELFHTML aktuell Teil von Artikel Teil von Programmiertechnik Teil von Sperren von Dateien

© 2006 bereichsübergreifende Seite Impressum