Hallo Gerald, hallo Ratti, hallo Leute, Am Montag, 29. Dezember 2003 16:51 schrieb Gerald Goebel:
_Multiprocessing:_ [...] _Vorteil:_ extrem robust
Also genau das, was wir brauchen ;-)
_Nachteil:_ Alle Komunikation zwischen Parent- und ChildProzess muß seperat über sharedmemory, semaphoren oder pipes programmiert werden.
Tja, Pipes sind da wohl die schmerzloseste (und vermutlich auch sicherste) Variante. Bei shared memory hätte ich Bedenken, dass ein wildgewordener Kindprozess irgendwas falsches hinterlässt. (wobei ich von shared memory fast keine Ahnung habe, hört sich aber gefährlich an ;-) semaphoren sagt mir nix, muss ich das (als Perl-Anfänger) kennen oder gibt es das bei Perl gar nicht? Ratti, da fällt mir gerade wieder eine Mail von David in fontlinge-devel ein, in der er auf man IPC::Open3 man IPC::Open2 verwiesen hat. Könnte einen Versuch wert sein. Allerdings stimmt micht die Aussage "you could block forever" (falls man auf den Text der Pipe wartet, aber nix auftaucht), doch etwas bedenklich. Aber: sollte zu schaffen sein - IPC::Open2 verwenden, STDERR auf STDOUT umleiten (2>&1) und im Fehlerfall beim Abfangen eines Segfault eine Meldung ausgeben. Kannst Du ja testen, indem Dein "Kind"-Prozess einfach mal nix ausgibt und sich verabschiedet... Wenn nichts anderes hilft, rufen wir eben "fontlinge_worker ; echo ERROR" auf ;-)
[...] Siehe auch: http://www.gsp.com/cgi-bin/man.cgi?section=1&topic=perlfork <Zitate>
Oder man perlfork für alle, die keine Flat haben ;-) Gruß Christian Boltz --
Ooooch, nu sei doch nicht gleich gnidderig. :-) Bin ich doch gar nicht :-))) Dann ist ja gut. (Bratpfanne unauffällig fallenlass und mit dem Fuß wegstubs...) [> Christian Boltz und Ratti in fontlinge-devel]