11Jan02=======================================================================
1. Make M$ TCP connx blocking again, sigh...
2. backed out ALL the M$ speedup and make nicer changes :-(
+3. cope with data coming in during the disconnection process. Don't worry
+Earth people, this will take no longer than 15 of your Earth seconds...
10Jan02=======================================================================
1. set SO_LINGER = 0 to try to prevent the system sending data on a closing
socket. This MAY help some of the hanging problems (but I am now beginning
while (@inqueue) {
my $self = shift @inqueue;
return if !$self;
-
+
my $data = $self->{data};
my $dxchan = $self->{dxchan};
my $error;
# do the really sexy console interface bit! (Who is going to do the TK interface then?)
dbg("<- $sort $call $line\n") if $sort ne 'D' && isdbg('chan');
-
+ if ($self->{disconnecting}) {
+ dbg('In disconnection, ignored');
+ next;
+ }
+
# handle A records
my $user = $dxchan->user;
if ($sort eq 'A' || $sort eq 'O') {
$dxchan->start($line, $sort);
} elsif ($sort eq 'I') {
die "\$user not defined for $call" if !defined $user;
+
# normal input
$dxchan->normal($line);
} elsif ($sort eq 'Z') {