For Programmers: Free Programming Magazines  


Home > Archive > PERL POE > June 2005 > Zombie processes after 0.31









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Zombie processes after 0.31
Rocco Caputo

2005-06-09, 4:00 am

POE 0.31 completed a major milestone in the Signal Reforms documented
at http://poe.perl.org/ . One of them was to stop seeding %SIG with
default signal handlers. In the past, POE would register handlers for
all sorts of signal, including SIGCHLD and SIGPIPE whether a program
needed them or not.

The result is zombie processes in programs that use fork(), which is
also used by POE::Wheel::Run and POE::Component::Child. I've also
received a single report of a SIGPIPE killing a process, but this
seems rarer.

I'm going to have POE set $SIG{CHLD} and $SIG{PIPE} to "IGNORE" when
nobody has events registered for them. This should fix both problems.

--
Rocco Caputo - http://poe.perl.org/
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com