Thread z.T. keine neue Zeile bei txt Datei (14 answers)
Opened by Olli at 2011-07-11 11:12

rosti
 2011-07-12 19:40
#150331 #150331
User since
2011-03-19
3219 Artikel
BenutzerIn
[Homepage]
user image
Hi lieber Olli,

ja, nimm flock() ;)

Ist ganz einfach. use Fcntl qw(:flock); hast Du ja schon. Gelockt wird nun das Handle, und zwar unmittelbar nach der Erstellung. Ich empfehle ein LOCK_EX aus folgendem Grund:

Jeder Prozess, der lesender und schreibender Weise zugreift, braucht eine gewisse Zeitspanne. Mit einem LOCK_EX kann innerhalb dieser Zeitspanne kein anderer Prozess nichts tun, auch nicht Lesen, das ist wichtig.

Somit kann ein weiterer Prozess erst Lesen, wenn er selbst den Zugriff bekommt und es ist damit sichergestellt, dass der Nächste, der das Handle bekommt, den letzten aktuellen Datenbestand im Kasten hat.

In Deinem Fall würde es evntl. genügen, nur den Schreibzugriff zu locken, weil die Daten nur angehängt werden (was vordem steht ist uninteressant). Mach ein LOCK_EX und alles wird gut ;)

--Rosti

View full thread z.T. keine neue Zeile bei txt Datei