[LON-CAPA-cvs] cvs: loncom / loncnew
foxr
lon-capa-cvs@mail.lon-capa.org
Tue, 29 Jul 2003 02:33:05 -0000
foxr Mon Jul 28 22:33:05 2003 EDT
Modified files:
/loncom loncnew
Log:
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.
Index: loncom/loncnew
diff -u loncom/loncnew:1.15 loncom/loncnew:1.16
--- loncom/loncnew:1.15 Mon Jul 14 22:07:05 2003
+++ loncom/loncnew Mon Jul 28 22:33:05 2003
@@ -2,7 +2,7 @@
# The LearningOnline Network with CAPA
# lonc maintains the connections to remote computers
#
-# $Id: loncnew,v 1.15 2003/07/15 02:07:05 foxr Exp $
+# $Id: loncnew,v 1.16 2003/07/29 02:33:05 foxr Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -46,6 +46,10 @@
# Change log:
# $Log: loncnew,v $
+# 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
# 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
@@ -125,6 +129,7 @@
my $ClientConnection = 0; # Uniquifier for client events.
my $DebugLevel = 0;
+my $NextDebugLevel= 10; # So Sigint can toggle this.
my $IdleTimeout= 3600; # Wait an hour before pruning connections.
#
@@ -261,7 +266,7 @@
my $level = shift;
my $message = shift;
if ($level <= $DebugLevel) {
- print $message." host = ".$RemoteHost."\n";
+ Log("INFO", "-Debug- $message host = $RemotHost");
}
}
@@ -1368,6 +1373,22 @@
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
This sub implements a child process for a single lonc daemon.
@@ -1380,12 +1401,6 @@
#
# 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",
cb => \&SignalledToDeath,
@@ -1396,6 +1411,9 @@
Event->signal(signal => "USR1",
cb => \&ChildStatus,
data => "USR1");
+ Event->signal(signal => "INT",
+ cb => \&ToggleDebug,
+ data => "INT");
SetupTimer();