[LON-CAPA-cvs] cvs: loncom(version_1_2_X) / loncnew

albertel lon-capa-cvs@mail.lon-capa.org
Wed, 19 Jan 2005 21:38:26 -0000


albertel		Wed Jan 19 16:38:26 2005 EDT

  Modified files:              (Branch: version_1_2_X)
    /loncom	loncnew 
  Log:
  - backport sleep removal, and uppdatestatus fixes 1.66 1.67
  
  
Index: loncom/loncnew
diff -u loncom/loncnew:1.57 loncom/loncnew:1.57.2.1
--- loncom/loncnew:1.57	Wed Sep 22 06:22:50 2004
+++ loncom/loncnew	Wed Jan 19 16:38:25 2005
@@ -2,7 +2,7 @@
 # The LearningOnline Network with CAPA
 # lonc maintains the connections to remote computers
 #
-# $Id: loncnew,v 1.57 2004/09/22 10:22:50 foxr Exp $
+# $Id: loncnew,v 1.57.2.1 2005/01/19 21:38:25 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -61,6 +61,7 @@
 use LONCAPA::LondTransaction;
 use LONCAPA::Configuration;
 use LONCAPA::HashIterator;
+use Fcntl qw(:flock);
 
 
 # Read the httpd configuration file to get perl variables
@@ -383,6 +384,7 @@
 	$KeyMode = ""; 
 	$clock_watcher->cancel();
     }
+    &UpdateStatus();
 }
 
 =pod
@@ -1488,25 +1490,29 @@
 
     Debug(2, "Reporting child status because : ".$watcher->data);
     my $docdir = $perlvar{'lonDocRoot'};
-    my $fh = IO::File->new(">>$docdir/lon-status/loncstatus.txt");
-    print $fh $$."\t".$RemoteHost."\t".$Status."\t".
+    
+    open(LOG,">>$docdir/lon-status/loncstatus.txt");
+    flock(LOG,LOCK_EX);
+    print LOG $$."\t".$RemoteHost."\t".$Status."\t".
 	$RecentLogEntry."\n";
     #
     #  Write out information about each of the connections:
     #
     if ($DebugLevel > 2) {
-	print $fh "Active connection statuses: \n";
+	print LOG "Active connection statuses: \n";
 	my $i = 1;
 	print STDERR  "================================= Socket Status Dump:\n";
 	foreach my $item (keys %ActiveConnections) {
 	    my $Socket = $ActiveConnections{$item}->data;
 	    my $state  = $Socket->GetState();
-	    print $fh "Connection $i State: $state\n";
+	    print LOG "Connection $i State: $state\n";
 	    print STDERR "---------------------- Connection $i \n";
 	    $Socket->Dump(-1);	# Ensure it gets dumped..
 	    $i++;	
 	}
     }
+    flock(LOG,LOCK_UN);
+    close(LOG);
     $ConnectionRetriesLeft = $ConnectionRetries;
 }
 
@@ -1729,7 +1735,6 @@
     foreach my $pid (keys %ChildHash) {
 	Debug(2, "Sending USR1 -> $pid");
 	kill 'USR1' => $pid;	# Tell Child to report status.
-	sleep 1;		# Wait so file doesn't intermix.
     }
 }