[LON-CAPA-cvs] cvs: loncom /lonnet/perl lonnet.pm
www
lon-capa-cvs@mail.lon-capa.org
Mon, 25 Feb 2002 14:33:58 -0000
www Mon Feb 25 09:33:58 2002 EDT
Modified files:
/loncom/lonnet/perl lonnet.pm
Log:
Attempt to shut down lonc child from within lonnet if connection broken
Index: loncom/lonnet/perl/lonnet.pm
diff -u loncom/lonnet/perl/lonnet.pm:1.202 loncom/lonnet/perl/lonnet.pm:1.203
--- loncom/lonnet/perl/lonnet.pm:1.202 Tue Feb 19 16:53:42 2002
+++ loncom/lonnet/perl/lonnet.pm Mon Feb 25 09:33:58 2002
@@ -1,7 +1,7 @@
# The LearningOnline Network
# TCP networking package
#
-# $Id: lonnet.pm,v 1.202 2002/02/19 21:53:42 matthew Exp $
+# $Id: lonnet.pm,v 1.203 2002/02/25 14:33:58 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -138,7 +138,22 @@
sub reply {
my ($cmd,$server)=@_;
my $answer=subreply($cmd,$server);
- if ($answer eq 'con_lost') { $answer=subreply($cmd,$server); }
+ if ($answer eq 'con_lost') {
+ sleep 5;
+ $answer=subreply($cmd,$server);
+ if ($answer eq 'con_lost') {
+ &logthis("Second attempt con_lost on $server");
+ my $peerfile="$perlvar{'lonSockDir'}/$server";
+ my $client=IO::Socket::UNIX->new(Peer =>"$peerfile",
+ Type => SOCK_STREAM,
+ Timeout => 10)
+ or return "con_lost";
+ &logthis("Killing socket");
+ print $client "close_connection_exit\n";
+ sleep 5;
+ $answer=subreply($cmd,$server);
+ }
+ }
if (($answer=~/^refused/) || ($answer=~/^rejected/)) {
&logthis("<font color=blue>WARNING:".
" $cmd to $server returned $answer</font>");