Christian Kruse: gibts sowas wie ... echtes filelocking? ;-)

Beitrag lesen

你好 Andreas,

Du hast ein eigenes File-Locking implementiert? Warum?

weil die Aussagen im Archiv zur flock()-Funktion derart wiedersprüchlich
waren, daß ich am Ende immer noch nicht wußte, ob es denn nun wirklich
funktioniert oder nicht.

Es funktioniert -- auf Unix-Systemen. Auf Windows haengt es von der
PHP-Version ab.

Und meine Tests haben da nichts Aufschlußreiches ergeben. Es war mir
mit dem gleichen Script von mehreren Clients aufgerufen immmer möglich
die (schon gesperrte) Datei erneut zu sperren (laut Rückgabe der
Funktion).

Dir ist klar, dass die Datei nur zur Laufzeit gesperrt ist? Ist das
Script beendet, ist auch der Lock aufgehoben.

Da waren mir einfach keine Tests möglich, z.B. ob denn die
Fehlermeldung korrekt ausgegeben wird und ob eine Datei auch wieder
freigegeben wurde. Mit meiner eigenen Funktion  kann ich es sogar unter
WIN98 testen :-)

Ich wuerde mir das ueberlegen. Mit solchen Aktionen baut man sich sehr schnell entweder Deadlocks oder race conditions. Ein richtiger[tm]
Filelocking-Mechanismus ist nicht trivial.

再见,
 CK

--
Der Geist ist alles. Du wirst, was du denkst.
http://wwwtech.de/