summaryrefslogtreecommitdiff
path: root/ext/IO
diff options
context:
space:
mode:
Diffstat (limited to 'ext/IO')
-rw-r--r--ext/IO/lib/IO/Socket.pm19
1 files changed, 7 insertions, 12 deletions
diff --git a/ext/IO/lib/IO/Socket.pm b/ext/IO/lib/IO/Socket.pm
index 53c2ff66a7..2981516efc 100644
--- a/ext/IO/lib/IO/Socket.pm
+++ b/ext/IO/lib/IO/Socket.pm
@@ -115,18 +115,13 @@ sub connect {
$err = $! || (exists &Errno::ETIMEDOUT ? &Errno::ETIMEDOUT : 1);
$@ = "connect: timeout";
}
- elsif(!connect($sock,$addr)) {
- if ($!{EISCONN}) {
- # Some systems (e.g. Digital UNIX/Tru64) fail to
- # re-connect() to an already open socket and set
- # errno to EISCONN (Socket is already connected)
- # for such an attempt.
- $err = 0;
- } else {
- # But in other cases, there is no redemption.
- $err = $!;
- $@ = "connect: $!";
- }
+ elsif(!connect($sock,$addr) && not $!{EISCONN}) {
+ # Some systems (e.g. Digital UNIX/Tru64) fail to
+ # re-connect() to an already open socket and set
+ # errno to EISCONN (Socket is already connected)
+ # for such an attempt.
+ $err = $!;
+ $@ = "connect: $!";
}
}
else {