Hello,
srcstream = php_stream_open_wrapper_ex(src, "rb", src_flg | REPORT_ERRORS, NULL, ctx) deststream = php_stream_open_wrapper_ex(dest, "wb", REPORT_ERRORS, NULL, ctx);
An der Stelle im Source-Code war ich auf meiner Recherche tatsächlich auch schon mal, glaube ich, habe aber nicht erkannt, dass das die Dateien lockt. Aus Interesse: Woran machst du das konkret fest? – Am Suffix
_ex
, das für exclusive stehen könnte?Das hatte ich vermutet, aber nach kurzer Recherche steht das
_ex
wohl fürStream Context
− offensichtlich. Ich habe dann nochmal versucht tiefer in den Code einzusteigen, aber ohne Erfolg, dafür reichen meine C-Kenntnisse nicht aus. Ich nehme meine Aussage über das Locking zurück.
Das Locking war ja eigentlich auch nicht das Thema. Das sollte sich bei ordentlicher Programmierung von konkurrierenden Prozessen von alleine verstehen! Und nach POSIX müssen Streams mit Locking arbeiten. Ich weiß aber von PHP (aus meinen Schmieraufzeichnungen von damals), dass es dies an dieser Stelle leider genau nicht beachtet hat. Da Du aber nicht dazugeschrieben hast, aus welcher Version der Quellcode stammte, wollte ich gar nicht tiefer darauf eingehen.
Glück Auf
Tom vom Berg
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.