Mailinglisten-Archive |
"Lemberg, Sascha" wrote: > moin, > flock()-funktion benützt ? rein Interessehalber (und vielleicht zu Gunsten des Manuals): Wer hat Erfahrungen mit flock() in Multithred-Anwendungen, insbesondere mit PHP als Modul in einem reinen Multithreaded Server (ISAPI, ..., Apache/WIN32(?)) ? Meine Befürchtung ist, das evtl. das eine oder andere Betriebssystem Locks auf Prozess- und nicht auf Filedescriptorebene verwaltet, so daß innerhalb einer Multithread-Anwendung, bei der ja alle Treads in einem einzigen gemeinsamen Prozess-Kontext laufen, die Sperran- forderungen nicht greifen, auch wenn die einzelnen Threads eigentlich unabhängig voneinander operieren ... Das ist jetzt völlig ins blaue geschossen, aber ... ... ich höre gerade folgendens: 'man flock' auf Solaris: [...] Use of these interfaces should be restricted to only appli- cations written on BSD platforms. Use of these interfaces with any of the system libraries or in multi-thread applica- tions is unsupported. Locks are on files, not file descriptors. That is, file descriptors duplicated through dup(2) or fork(2) do not result in multiple instances of a lock, but rather multiple references to a single lock. If a process holding a lock on a file forks and the child explicitly unlocks the file, the parent will lose its lock. Locks are not inherited by a child process. [...] habe allerdings keine Ahnung, wie das auf MS-Plattformen aussieht ... -- Hartmut Holzgraefe hartmut_(at)_six.de http://www.six.de +49-711-99091-77 Besuchen Sie uns auf der Buchmesse in Frankfurt, Halle 4.0, Stand D 1117 und auf der Systems in München , Halle C2, Stand 126
php::bar PHP Wiki - Listenarchive