Thread unabhängige Schleife mit fork (8 answers)
Opened by romulus at 2004-05-19 14:20

ptk
 2004-05-21 12:58
#82576 #82576
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
So etwas kann passieren. Bei einem fork werden Sachen wie filehandles dupliziert, und END { ... }-Bloecke und DESTROY-Methoden werden auch im geforkten Prozess ausgefuehrt. Einige Probleme kann man umgehen, indem man statt exit() CORE::exit() verwendet (ueblicherweise bei Verwendung von Tk oder anderen Modulen, die exit() ueberschreiben) oder sogar POSIX::_exit (damit kann man vermeiden, dass END-Blocke ausgefuehrt werden). Einige Module haben Hilfsmittel, um das automatische Destroy in einem der beiden Prozesse zu vermeiden (z.B. DBI mit InactiveDestroy).

Vielleicht hat Term::Screen auch Probleme, wenn geforkt wird. Eine Loesung koennte sein, so frueh wie moeglich zu forken (bevor Term::Screen verwendet wird). Oder beim Autor von Term::Screen um Rat fragen --- vielleicht hilft es, wenn einige Filehandles im Kindprozess geschlossen werden.

View full thread unabhängige Schleife mit fork