
juliusv at google
Aug 8, 2008, 7:29 AM
Views: 816
Permalink
|
|
[PATCH] ldirectord: Ignore exit status of left-over external check processes
|
|
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}; _______________________________________________________ Linux-HA-Dev: Linux-HA-Dev[at]lists.linux-ha.org http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev Home Page: http://linux-ha.org/
|