Tom: race conditions mit flock()??

Beitrag lesen

Hello,

auf http://de.php.net/manual/de/function.flock.php habe ich gelesen, dass auch flock() mit race conditions probleme hat (Comment von pentek_imre at mailbox dot hu).

Das Problem von pentek_imre ist, dass er keine atomare Prozessmenge aufbaut. Die Einzelprozesse sind weiter teilbar, bzw. arbeiten mit unterschiedlichen Handles mit Zeitlücke.

Der betroffene Dateibereich darf erst dann eingestellt werden (fseek()) wenn das Lock sicher greift, und nicht umgekehrt. Es gibt bei mndatory Locking, so wie es in C und PHP ungestzt wird, bei direkter Verwendung des zuschützenden Files leider keine Übernahmemöglichkeit des Handles von einem Prozess auf den nächsten.

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau