Hello,
flock($fp, LOCK_EX);
An dieser Stelle prüfst du ja gar nicht, ob das Locking erfolgreich war!! Die Funktion flock() versucht normalerweise mehrfach hintereinander die Datei zu sperren, ist dies nicht möglich, so gibt es als Rückgabewert false und das Script arbeitet weiter.
*ähähäh* :-)
flock() kennt zwei Modi:
Blocking Mode
PHP fordert die Sperre beim OS an.
Das wird soalnge versucht, bis Erfolg eintritt
Die Kontrolle wird nicht vorher an das laufende Programm zurückgegeben
Wenn es zu lange dauert, greift PHPs Timeout-Mechanismus
Nonblocking Mode
Es wird von PHP die Sperre beim OS angefordert.
Dieses versucht das i.d.R. einige Male in kurzen Abständen hintereinander
Misslingt dies, wird die Kontrolle mit einem Fehlerwert an das laufende
Programm zurückgegeben
Default ist bei PHP der Blocking Mode
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
