--- loncom/Attic/lonc	2003/07/31 21:32:44	1.53
+++ loncom/Attic/lonc	2003/10/24 16:36:14	1.56
@@ -5,7 +5,7 @@
 # provides persistent TCP connections to the other servers in the network
 # through multiplexed domain sockets
 #
-# $Id: lonc,v 1.53 2003/07/31 21:32:44 albertel Exp $
+# $Id: lonc,v 1.56 2003/10/24 16:36:14 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -124,7 +124,7 @@ close(CONFIG);
 %childatt               = ();       # number of attempts to start server
                                     # for ID
 
-$childmaxattempts=5;
+$childmaxattempts=15;
 
 # ---------------------------------------------------- Fork once and dissociate
 &status("Fork and dissociate");
@@ -361,13 +361,17 @@ while (1) {
 	# accept a new connection
 	&status("Accept new connection: $conserver");
 	$client = $server->accept();
-	if($DEBUG) {
-	    &logthis("New client fd = ".$client->fileno."\n");
+	if (!$client) {
+	    &logthis("Got stupid nonexisent client on ".$server->fileno." $conserver \n");
+	} else {
+	    if($DEBUG) {
+		&logthis("New client fd = ".$client->fileno."\n");
+	    }
+	    $servers{$client->fileno} = $client;
+	    nonblock($client);
+	    $client->sockopt(SO_KEEPALIVE, 1); # Enable monitoring of
+	                                       # connection liveness.
 	}
-	$servers{$client->fileno} = $client;
-	nonblock($client);
-	$client->sockopt(SO_KEEPALIVE, 1);# Enable monitoring of
-	                                  # connection liveness.
     }
     HandleInput($infdset, \%servers, \%inbuffer, \%outbuffer, \%ready);
     HandleOutput($outfdset, \%servers, \%outbuffer, \%inbuffer,
@@ -638,7 +642,7 @@ sub handle {
             $request="enc:$cmdlength:$encrequest";
         }
 # --------------------------------------------------------------- Main exchange
-	$answer = londtransaction($remotesock, $request, 300);
+	$answer = londtransaction($remotesock, $request, 60);
 
 	if($DEBUG) { 
 	    &logthis("<font color=green> Request data exchange complete");
@@ -707,7 +711,7 @@ sub openremote {
     my $st=120+int(rand(240)); # Sleep before opening:
 
     unless (
-	    $remotesock = IO::Socket::INET->new(PeerAddr => $hostip{$conserver},
+	    $remotesock = IO::Socket::INET->new(PeerAddr => $hostname{$conserver},
 						PeerPort => $perlvar{'londPort'},
 						Proto    => "tcp",
 						Type     => SOCK_STREAM)
@@ -988,12 +992,12 @@ sub londtransaction {
 	    alarm(0);
 	};
     } else {
-	&logthis("lonc - suiciding on send Timeout");
-	die("lonc - suiciding on send Timeout");
+	&logthis("lonc - $conserver - suiciding on send Timeout");
+	die("lonc - $conserver - suiciding on send Timeout");
     }
     if ($@ =~ /timeout/) {
-	&logthis("lonc - suiciding on read Timeout");
-	die("lonc - suiciding on read Timeout");
+	&logthis("lonc - $conserver - suiciding on read Timeout");
+	die("lonc - $conserver - suiciding on read Timeout");
     }
     #
     # Restore the initial sigmask set.