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.