Beat: Dateienverriegelung

Beitrag lesen

Nun hat usleep den netten Effekt, dass es dem Kernel erlaubt, CPU an den nächsten Prozess zu geben. Das erhöht eher noch die Gefahr von Race-Conditions.

Sollte nicht eigentlich eben die Sperre dafür sorgen, dass kein anderer Prozess auf die Datei zugreift?

Die Race-Condition ist auf jeden Fall gegeben weil ein open() auf ein File und flock() nacheinander und nicht miteinander ausgeführt werden.
Dazwischen kann immer der Kernel einem anderen Process CPU geben, sprich, dummerweise diesen das gleiche versuchen lassen.

Wie realisiere ich denn dann eine Dateisperre, die über eine gewisse Zeit im Script vorhanden bleibt und ich aus der Datei dabei etwas lesen und in sie etwas schreiben kann?

Ich kann dir keine definitive Lösung geben, nur Literatur.
http://aktuell.de.selfhtml.org/artikel/programmiertechnik/

mfg Beat

--
><o(((°>           ><o(((°>
   <°)))o><                     ><o(((°>o
Der Valigator leibt diese Fische