Thread flock funktioniert nicht (64 answers)
Opened by x-man at 2006-04-17 19:11

pq
 2006-04-18 14:18
#7349 #7349
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=master,18.04.2006, 09:22]@pq usw.

Dieses Race-condition Problem hatte ich auch mal. (bei einem counter) und plötzlich war er leer, trotz flock.

Stellt euch nur vor ein anderer Prozess (Perlskript z. B. counter) greifft gerade auf die Datei zu in der Zwischenzeit.
Das Passiert, wenn's dumm kommt gerade dann, wenn flock noch nicht abgearbeitet wurde.

Zwischen "open" und dem Befehl "flock" vergeht viel Zeit.
Die Datei wird zuerst geöffnet und erst danach geflockt.
In der Zeit kann vieles passieren.

Eigentlich müsste man die datei zuerst flocken, dann öffnen. aber das geht ja so nicht..


--------
Am besten bei solchen Sachen einfach sysopen nehmen, dann sind die Probleme hinfällig.[/quote]
das ist absoluter quatsch. warum, hat dubu erklärt.
erst nach dem flock bearbeitest du die datei. was zwischen dem open und
flock passiert, kann dir schnuppe sein.
es gibt bei einem richtig benutzten flock keine race-condition.
können wir uns mal darauf einigen?
ansonsten hätte ich gerne eine demonstration, dass es schief geht.
einfach ein sleep zwischen dem open und dem flock einbauen und das
skript zweimal starten. dann kannst du ja das ergebnis hier vorstellen.\n\n

<!--EDIT|pq|1145355838-->
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread flock funktioniert nicht