Peter Squentz: flock() Lösung

Beitrag lesen

$timeout=10000; #how long the script waits between attempts to get a lock
$exit=100;          #how many attempts to get a lock before exiting the script

if file is locked keep trying until $exit

if (!flock(FILE,2))
{

Was soll das denn? "flock FILE,2" wartet solange, bis der andere Prozess / die anderen Prozesse das File wieder freigeben haben. Wenn Du nur pruefen willst, ob eine Datei gelockt ist, musst Du LOCK_SH/LOCK_EX _und_ LOCK_NB benutzen.

release file

flock(FILE,8);

Das lass lieber bleiben. Schliesse die Datei einfach mit close, das impliziert einen LOCK_UN und ist wesentlich sicherer.

Peter