Delete bad sockets.
This commit is contained in:
1 parent
8115025a7b
commit
6a070eb891
1 file changed
+10
-6
@@ -329,17 +329,20 @@ foreach my $cskey (keys %cservers) {
|
|||||||
|
|
||||||
# Create the socket.
|
# Create the socket.
|
||||||
if ($use6) {
|
if ($use6) {
|
||||||
$SOCKET{$cskey} = IO::Socket::INET6->new(%conndata) or
|
$SOCKET{$cskey} = IO::Socket::INET6->new(%conndata) or # Or error.
|
||||||
err(2, 'Failed to connect to server ('.$ERRNO.'): '.$cskey.' ['.$cservers{$cskey}{'host'}[0].q{:}.$cservers{$cskey}{'port'}[0].']', 0) and next; # Or error.
|
err(2, 'Failed to connect to server ('.$ERRNO.'): '.$cskey.' ['.$cservers{$cskey}{'host'}[0].q{:}.$cservers{$cskey}{'port'}[0].']', 0)
|
||||||
|
and delete $SOCKET{$cskey} and next;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if ($usessl) {
|
if ($usessl) {
|
||||||
$SOCKET{$cskey} = IO::Socket::SSL->new(%conndata) or
|
$SOCKET{$cskey} = IO::Socket::SSL->new(%conndata) or # Or error.
|
||||||
err(2, 'Failed to connect to server ('.$ERRNO.'): '.$cskey.' ['.$cservers{$cskey}{'host'}[0].q{:}.$cservers{$cskey}{'port'}[0].']', 0) and next; # Or error.
|
err(2, 'Failed to connect to server ('.$ERRNO.'): '.$cskey.' ['.$cservers{$cskey}{'host'}[0].q{:}.$cservers{$cskey}{'port'}[0].']', 0)
|
||||||
|
and delete $SOCKET{$cskey} and next;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$SOCKET{$cskey} = IO::Socket::INET->new(%conndata) or
|
$SOCKET{$cskey} = IO::Socket::INET->new(%conndata) or # Or error.
|
||||||
err(2, 'Failed to connect to server ('.$ERRNO.'): '.$cskey.' ['.$cservers{$cskey}{'host'}[0].q{:}.$cservers{$cskey}{'port'}[0].']', 0) and next; # Or error.
|
err(2, 'Failed to connect to server ('.$ERRNO.'): '.$cskey.' ['.$cservers{$cskey}{'host'}[0].q{:}.$cservers{$cskey}{'port'}[0].']', 0)
|
||||||
|
and delete $SOCKET{$cskey} and next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -419,6 +422,7 @@ while (1) {
|
|||||||
# Got EOF, close socket
|
# Got EOF, close socket
|
||||||
err(2, "Lost connection to $sockid!", 0);
|
err(2, "Lost connection to $sockid!", 0);
|
||||||
$SELECT->remove($sock);
|
$SELECT->remove($sock);
|
||||||
|
delete $SOCKET{$sockid};
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user