Thread flock funktioniert nicht
(64 answers)
Opened by x-man at 2006-04-17 19:11
[quote=master,18.04.2006, 14:32]zwischen:
Code: (dl
)
1 open my $fh, "+<", "datei" or die $!; Das open() mit "+<" öffnet die Datei zum Lesen und Schreiben, ändert aber nichts an der Datei selber. Daher existiert in diesem Code auch keine Race Condition, im Gegensatz zum Öffnen mit ">", was eine vorhandene Datei zum Zeitpunkt des Öffnens löscht (womit ein konkurrierender Prozess zu diesem Zeitpunkt eine leere Datei vorfindet). Den Nachteil des Aufrufs mit "+<" sollte man aber nicht verschweigen: Im Gegensatz zum Öffnen mit ">" wird keine Datei angelegt, wenn sie nicht existiert! Dafür braucht man dann doch ein sysopen(), wie es in perldoc -q "get locking" beschrieben wird. |