Hello,
es könnte so umgesetzt werden, dass
beim Session_start() ein LOCK_SH gesetzt wird. Damit könnte jeder Prozess, auch wenn er sich an die Lockingstrategie hält, die Datei noch lesen.
Wenn jetzt in die Session geschrieben werden soll, dann müsste das Script versuchen, die Sperre vorher auf LOCK_EX hochzusetzen und könnte dann erst schreiben und die Sperre dann wieder herabsetzen auf LOCK_SH. Das Hochsetzen auf LOCK_EX geht aber nur dann, wenn kein anderes Script inzwischen auch ein LOCK_SH auf die Datei hält.
Da das relativ aufwändig zu implementieren wäre (PHP ist ja noch in C geschrieben und nicht in C++, wo Überladung von Opratoren möglich ist) und es außerdem im Betrieb denselben wahrscheinlich eher aufhalten würde, als einen wirklichen Nutzen zu liefern, hat man es wohl lieber gelassen...
Außerdem sollten wir nicht vergessen, dass auf Unixoiden OS ohnehin nur ein advisory Lock benutzt wird, das dann einfach missachtet werden kann, wenn ein anderer Prozess unbeding lesen will. Schreiben wäre allerdings eine Sauerei von dem bösen Prozess :-))
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg