Hallo,
da ich gerade dabei bin ein nicht DB-gestütztes Forum zu programmieren
und die Dateizugriffe mit flock() abzufangen, frage ich mich gerade,
was passiert eigentlich bei einem exklisiven Filelock und einem http-
Zugriff. Normalerweise würde es der Server wieder versuchen und sicher
auch irgendwie eine "Lücke" abpassen. Aber angenommen der (eher) hypo-
thetische Fall, der Filelock würde länger anhalten, was bekomme ich
dann? Server-Timeout, 404....
Diese Frage kann so nicht gestellt werden. Einen Server-Timeout wirst Du hier nicht so schnell bekommen. TCP/IP ist verbindungsorientiert und streamfähig. Das hat nichts mit einem Filelock zu tun, das ist eine andere Sache. Realtimefähigkeit erlangst Du eh nur via UDP, aber auch da ist die Sache mit dem Filelock eine andere Geschichte. Angenommen die Verbindung steht, da gepuffert, und das File ist geblockt (intern, der Verbindung egal), dann lautet die Frage "Wie lange dauern die Versuche für einen Zugriff auf eine blockierte Datei an?". Nun... das kann ich Dir nicht beantworten... leider *1 ... die Verbindung sollte jedenfalls nach dem Fehlschlagen gekappt werden, sprich ein Gelingen bzw. nicht Gelingen des Öffnens einer Datei ist gesichert, die Verbindung via TCP/IP auch, da davon unabhängig.
micha
*1) Es ist mir nicht bekannt, dass dafür (Öffnen einer Datei) Zeitangaben gesetzt werden können. Die Teilung von Resourcen ist imho von deren Verfügbarkeit (Datei) unabhängig, spricht das Progi hängt für die Zeit, in der auf die entspr. Res. nicht zugegriffen werden kann. (So ist jedenfalls meine Erfahrung)