tag 310600 + patch
thanks

On Tue, May 24, 2005 at 04:38:13PM +0200, Igor Genibel wrote:
> Package: ldirectord
> Severity: important
> 
> Hi Simon,
> 
> we are faced to a serious problem that crashes ldirectord
> Here is the log extract:
> [Tue May 24 06:06:57 2005|ldirectord] Linux Director Daemon terminated on 
> signal: Timeout at /usr/share/perl/5.8/Net/FTP.pm line 490
> [Tue May 24 06:09:53 2005|ldirectord] ldirectord is stopped for 
> /etc/ha.d/ldirectord.cf
> [Tue May 24 06:09:53 2005|ldirectord] Exiting with exit_status 1: 
> Initialisation Error

Hi, I think the attached patch will resolve this problem.

-- 
Horms
--- ldirectord  2005-05-12 23:22:58.000000000 +0900
+++ /tmp/ldirectord     2005-06-17 17:58:16.000000000 +0900
@@ -452,18 +446,24 @@
 sub ld_init
 {
        # install signal handlers (this covers TERM)
-       my $i;
-       for $i (keys %SIG) {
-               $SIG{"$i"} = \&ld_handler_term;
-       }
+       #require Net::LDAP;
+        $SIG{'INT'} = \&ld_handler_term;
+        $SIG{'QUIT'} = \&ld_handler_term;
+        $SIG{'ILL'} = \&ld_handler_term;
+        $SIG{'ABRT'} = \&ld_handler_term;
+        $SIG{'FPE'} = \&ld_handler_term;
+        $SIG{'SEGV'} = \&ld_handler_term;
+        $SIG{'TERM'} = \&ld_handler_term;
+
+        $SIG{'BUS'} = \&ld_handler_term;
+        $SIG{'SYS'} = \&ld_handler_term;
+        $SIG{'XCPU'} = \&ld_handler_term;
+        $SIG{'XFSZ'} = \&ld_handler_term;
+
+        $SIG{'IOT'} = \&ld_handler_term;
+        $SIG{'ENT'} = \&ld_handler_term;
 
-       # except CHLD, USR1, USR2 and __WARN__
-       $SIG{'CHLD'} = "DEFAULT";
-       $SIG{'USR1'} = "DEFAULT";
-       $SIG{'USR2'} = "DEFAULT";
-       $SIG{'__WARN__'} = "DEFAULT";
 
-       # handle PIPE separately as it probably should be ignored
        # This used to call a signal handler, that logged a message
        # However, this typically goes to syslog and if syslog
        # is playing up a loop will occur. 

Reply via email to