[Linux-ha-dev] [PATCH] ldirectord: Ignore exit status of left-over
external check processes
Julius Volz
juliusv at google.com
Fri Aug 8 08:29:59 MDT 2008
Hi,
When using external check processes in ldirectord, we encountered some
cases of zombies being left behind when the external process ran into
a timeout. This happened because nobody wait()ed on their exit status.
The following patch fixes this issue for us by just ignoring
SIGCHLD signals in the code branch that executes the checks.
Julius
diff -r e0f9eeef2e31 ldirectord/ldirectord.in
--- a/ldirectord/ldirectord.in Thu Aug 07 17:15:05 2008 +1000
+++ b/ldirectord/ldirectord.in Fri Aug 08 15:32:16 2008 +0200
@@ -2250,6 +2250,7 @@ sub ld_main
check_signal();
} else {
+ local $SIG{CHLD} = 'IGNORE';
my @real_checked;
foreach my $v (@VIRTUAL) {
my $real = $$v{real};
More information about the Linux-HA-Dev
mailing list