Thread denkfehler? waitpid killt meinen Elternprozess...
(1 answers)
Opened by Wlet at 2006-06-21 11:28
Hallo,
ich bin gerade dabei einen kleinen SMTP-Server zu schreiben. Jetzt habe ich ein Problem mit dem Forking des Prozesses. Das ganze lief bereits, aber die Prozessliste lief mir mit Zombies voll. Also wollte ich die wie hier beschrieben die Zombies automatisiert per Signalhandler abräumen lassen. Dummerweise killt mir der Signalhandler aber meinen Elternprozess und den Kindprozess. So hänge ich funktionalität an den Signalhandler... Code: (dl
)
1 sub sigchldHandler { Das ist meine Forkschleife: Code: (dl
)
1 while($conn = $Net::SMTP::Server::server->accept()) dann mache ich eine Telnetsession auf den geöffneten Port, was einwandfrei funktioniert. Beende ich die Telnetsession ganz normal, d.h. es wird "exit(0);" erreicht, habe ich folgende Ausgabe: Code: (dl
)
1 linux:~/forwarder# ./Mailer.pl Das Programm wird dann abgebrochen, und sowohl Vater als auch Kindprozess sind aus der Prozessliste verschwunden... Was mache ich denn falsch? danke für eure Hilfe... Wlet\n\n <!--EDIT|Wlet|1150876703--> |