version 1.45, 2003/02/03 18:03:52
|
version 1.48, 2003/03/18 22:51:03
|
Line 325 tie %ready, 'Tie::RefHash';
|
Line 325 tie %ready, 'Tie::RefHash';
|
|
|
# Main loop: check reads/accepts, check writes, check ready to process |
# Main loop: check reads/accepts, check writes, check ready to process |
|
|
status("Main loop"); |
status("Main loop $conserver"); |
while (1) { |
while (1) { |
my $client; |
my $client; |
my $rv; |
my $rv; |
Line 365 while (1) {
|
Line 365 while (1) {
|
} |
} |
$servers{$client->fileno} = $client; |
$servers{$client->fileno} = $client; |
nonblock($client); |
nonblock($client); |
|
$client->sockopt(SO_KEEPALIVE, 1);# Enable monitoring of |
|
# connection liveness. |
} |
} |
HandleInput($infdset, \%servers, \%inbuffer, \%outbuffer, \%ready); |
HandleInput($infdset, \%servers, \%inbuffer, \%outbuffer, \%ready); |
HandleOutput($outfdset, \%servers, \%outbuffer, \%inbuffer, |
HandleOutput($outfdset, \%servers, \%outbuffer, \%inbuffer, |
Line 700 sub openremote {
|
Line 702 sub openremote {
|
|
|
my $conserver=shift; |
my $conserver=shift; |
|
|
&status("Opening TCP"); |
&status("Opening TCP $conserver"); |
my $st=120+int(rand(240)); # Sleep before opening: |
my $st=120+int(rand(240)); # Sleep before opening: |
|
|
unless ( |
unless ( |
Line 720 unless (
|
Line 722 unless (
|
&logthis("<font color=green>INFO Connected to $conserver, initing </font>"); |
&logthis("<font color=green>INFO Connected to $conserver, initing </font>"); |
&status("Init dialogue: $conserver"); |
&status("Init dialogue: $conserver"); |
|
|
$answer = londtransaction($remotesock, "init", 60); |
$answer = londtransaction($remotesock, "init:$conserver", 60); |
chomp($answer); |
chomp($answer); |
$answer = londtransaction($remotesock, $answer, 60); |
$answer = londtransaction($remotesock, $answer, 60); |
chomp($answer); |
chomp($answer); |
Line 740 if ($answer ne 'ok') {
|
Line 742 if ($answer ne 'ok') {
|
} |
} |
|
|
sleep 5; |
sleep 5; |
&status("Ponging"); |
&status("Ponging $conserver"); |
print $remotesock "pong\n"; |
print $remotesock "pong\n"; |
$answer=<$remotesock>; |
$answer=<$remotesock>; |
chomp($answer); |
chomp($answer); |
Line 973 sub londtransaction {
|
Line 975 sub londtransaction {
|
alarm(0); |
alarm(0); |
}; |
}; |
} else { |
} else { |
if($DEBUG) { |
&logthis("lonc - suiciding on send Timeout"); |
&logthis("Timeout on send in londtransaction"); |
die("lonc - suiciding on send Timeout"); |
} |
|
} |
} |
if( ($@ =~ /timeout/) && ($DEBUG)) { |
if ($@ =~ /timeout/) { |
&logthis("Timeout on receive in londtransaction"); |
&logthis("lonc - suiciding on send Timeout"); |
|
die("lonc - suiciding on send Timeout"); |
} |
} |
# |
# |
# Restore the initial sigmask set. |
# Restore the initial sigmask set. |