Tom: Locking auf Windows-Systemen, Helfer gesucht

Beitrag lesen

Hello Badboy,

bei mir legt er unter Windows XP eine Datei an...
das war's dann aber auch schon
er lädt und lädt und lädt
mehr passiert nicht

Das ist leider eine sehr dürftige Beschreibung.
Wie oft wurde denn das Script gestartet?
Was passiert in den verschiedenen Fenstern?

ich habe die shared_lock.php gestartet, die Datei wurde angelegt... danach, wird die Datei nur noch geladen
rufe ich die Datei ein 2. mal auf... wird dort auch geladen was das zeug hält.. ich weiss nur nicht was ;-)

dann hab ich mal die exclusive_lock.php aufgerufen, dann kam diese Meldung

Abbruch durch den Benutzer stoppt das Script
Datei konnte nicht gesperrt werden

nachdem ich mal alle Fensater geschlossen und ca. 5min gewartet habe, hab ich nochmal die exclusive_lock.php aufgerufen... nun lädt sie auch, aber was?!

Das ist ok so.
Normalerweise sollte da alle drei Sekunden eine Kontrollausgabe kommen, aber bei Windows funktioniert ggf. das sleep() nicht.

Aber das Locking scheint unter WinXP entgegen dem PHP-Handbuch also zu funktionieren.

Erstmal Dank.

Du könntest das sleep() in de Schleife mal auskommentieren, und den Versuch dann wiederholen...

ich hab jetzt sleep auskommentiert

hab mal die exclusive_lock.php gestartet
nach kurzer Zeit ist 1 GB Ram verrbaucht und 2GB Virtueller Arbeitsspeicher belegt...

die Meldung ist
808 1090794008 lebt noch

aber mein Rechner ist tot

Ich quote ausnahmsweise mal alles, weil ich es dann komplett drucken und in die Dku aufnehmen kann.

Also, der RAM-Verbrauch kommt zustande, weil unter Windows der Buffer nicht zwischendurch geleert werden kann. Flush() http://de2.php.net/manual/de/function.flush.php ist der böse Bube unter Windows. Raik hat es herausgefunden.
Das Script läuft in einer Schliefe solange, bis ein User_abort() stattfindet, also das Fenster geschlossen oder der Stopp-Button gedrückt wird odr eben das flock() schiefgeht.

Wenn Du also wieder sleep(3) eiträgst, wird nur alle drei Sekunden ein Eintrag im Buffer gemacht.

Wichtig ist aber, dass das Filelocking funktioniert.

Dankie für die Mithilfe.

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

Tom

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