version 1.15, 2003/07/15 02:07:05
|
version 1.16, 2003/07/29 02:33:05
|
Line 46
|
Line 46
|
|
|
# Change log: |
# Change log: |
# $Log$ |
# $Log$ |
|
# Revision 1.16 2003/07/29 02:33:05 foxr |
|
# Add SIGINT processing to child processes to toggle annoying trace mode |
|
# on/off.. will try to use this to isolate the compute boud process issue. |
|
# |
# Revision 1.15 2003/07/15 02:07:05 foxr |
# Revision 1.15 2003/07/15 02:07:05 foxr |
# Added code for lonc/lond transaction timeouts. Who knows if it works right. |
# Added code for lonc/lond transaction timeouts. Who knows if it works right. |
# The intent is for a timeout to fail any transaction in progress and kill |
# The intent is for a timeout to fail any transaction in progress and kill |
Line 125 my $MaxConnectionCount = 10; # Will get
|
Line 129 my $MaxConnectionCount = 10; # Will get
|
my $ClientConnection = 0; # Uniquifier for client events. |
my $ClientConnection = 0; # Uniquifier for client events. |
|
|
my $DebugLevel = 0; |
my $DebugLevel = 0; |
|
my $NextDebugLevel= 10; # So Sigint can toggle this. |
my $IdleTimeout= 3600; # Wait an hour before pruning connections. |
my $IdleTimeout= 3600; # Wait an hour before pruning connections. |
|
|
# |
# |
Line 261 sub Debug {
|
Line 266 sub Debug {
|
my $level = shift; |
my $level = shift; |
my $message = shift; |
my $message = shift; |
if ($level <= $DebugLevel) { |
if ($level <= $DebugLevel) { |
print $message." host = ".$RemoteHost."\n"; |
Log("INFO", "-Debug- $message host = $RemotHost"); |
} |
} |
} |
} |
|
|
Line 1368 sub SignalledToDeath {
|
Line 1373 sub SignalledToDeath {
|
exit 0; |
exit 0; |
|
|
} |
} |
|
|
|
=head2 ToggleDebug |
|
|
|
This sub toggles trace debugging on and off. |
|
|
|
=cut |
|
|
|
sub ToggleDebug { |
|
my $Current = $DebugLevel; |
|
$DebugLevel = $NextDebugLevel; |
|
$NextDebugLevel = $Current; |
|
|
|
Log("SUCCESS", "New debugging level for $RemoteHost now $DebugLevel"); |
|
|
|
} |
|
|
=head2 ChildProcess |
=head2 ChildProcess |
|
|
This sub implements a child process for a single lonc daemon. |
This sub implements a child process for a single lonc daemon. |
Line 1380 sub ChildProcess {
|
Line 1401 sub ChildProcess {
|
# |
# |
# Signals must be handled by the Event framework... |
# Signals must be handled by the Event framework... |
# |
# |
# $SIG{QUIT} = \&SignalledToDeath; |
|
# $SIG{HUP} = \&ChildStatus; |
|
# $SIG{USR1} = IGNORE; |
|
# $SIG{INT} = DEFAULT; |
|
# $SIG{CHLD} = IGNORE; |
|
# $SIG{__DIE__} = \&SignalledToDeath; |
|
|
|
Event->signal(signal => "QUIT", |
Event->signal(signal => "QUIT", |
cb => \&SignalledToDeath, |
cb => \&SignalledToDeath, |
Line 1396 sub ChildProcess {
|
Line 1411 sub ChildProcess {
|
Event->signal(signal => "USR1", |
Event->signal(signal => "USR1", |
cb => \&ChildStatus, |
cb => \&ChildStatus, |
data => "USR1"); |
data => "USR1"); |
|
Event->signal(signal => "INT", |
|
cb => \&ToggleDebug, |
|
data => "INT"); |
|
|
SetupTimer(); |
SetupTimer(); |
|
|