LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: [lvs-users] defunct checkcommand processes w/ ldirectord

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx, david@xxxxxxxxxxxxxxxx
Subject: Re: [lvs-users] defunct checkcommand processes w/ ldirectord
From: Sohgo Takeuchi <sohgo@xxxxxxxxxxxxxxxx>
Date: Sat, 11 Feb 2012 17:34:41 +0900 (JST)
Hello, David

From: David Coulson <david@xxxxxxxxxxxxxxxx>
|
> I'm running ldirectord with a few external checkcommands, but end up 
> with numerous defunct processes on the system.
> 
> Seems like this issue:
> 
> http://archive.linuxvirtualserver.org/html/lvs-users/2010-08/msg00040.html
> 
> I realize I can set an alarm on my command and cause it to exit, but is 
> there a fix for ldirectord to correctly clean up processes which are 
> killed due to the internal timeout?

Please try the following patch.

diff --git a/ldirectord/ldirectord.in b/ldirectord/ldirectord.in
index 5d26114..c28eb40 100644
--- a/ldirectord/ldirectord.in
+++ b/ldirectord/ldirectord.in
@@ -2671,19 +2671,21 @@ sub run_child
        my $real = $$v{real};
        my $virtual_id = get_virtual_id_str($v);
        my $checkinterval = $$v{checkinterval} || $CHECKINTERVAL;
        $0 = "ldirectord $virtual_id";
        while (1) {
                foreach my $r (@$real) {
                        $0 = "ldirectord $virtual_id checking $$r{server}";
                        _check_real($v, $r);
+                       check_signal();
                }
                $0 = "ldirectord $virtual_id";
                sleep $checkinterval;
+               check_signal();
                ld_emailalert_resend();
        }
 }
 
 sub _check_real
 {
        my $v = shift;
        my $r = shift;

_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/

LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
or go to http://lists.graemef.net/mailman/listinfo/lvs-users

<Prev in Thread] Current Thread [Next in Thread>