Remove the special SIGCHLD handler applied to the parent/listener
process from spawned child processes (drones) by setting child handler to
DEFAULT. Otherwise, if an OpenSRF drone process spawns a sub-process,
the drone will execute the SIGCHLD handler meant for the Listener when
the sub-process dies, wherein hijinks ensue.
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
} else { # child process
- $SIG{$_} = 'DEFAULT' for (qw/INT TERM QUIT HUP/);
+ $SIG{$_} = 'DEFAULT' for (qw/INT TERM QUIT HUP CHLD/);
if($self->{stderr_log}) {