summaryrefslogtreecommitdiff
path: root/ext/IO
diff options
context:
space:
mode:
authorandrew deryabin <djsf@technarchy.ru>2001-04-21 21:46:52 +0400
committerJarkko Hietaniemi <jhi@iki.fi>2001-04-22 15:16:03 +0000
commit6f36ad4ab3b6497d1280576be438eea8cce4348e (patch)
treeaabacc83f5cd1ea27860fe023a8d9e90033ab329 /ext/IO
parent83c2f623ab800d4b316b958f530d3ecd95448b48 (diff)
downloadperl-6f36ad4ab3b6497d1280576be438eea8cce4348e.tar.gz
IO::Socket::INET patch
Message-ID: <20010421174652.B1426@technarchy> p4raw-id: //depot/perl@9779
Diffstat (limited to 'ext/IO')
-rw-r--r--ext/IO/lib/IO/Socket/INET.pm6
1 files changed, 4 insertions, 2 deletions
diff --git a/ext/IO/lib/IO/Socket/INET.pm b/ext/IO/lib/IO/Socket/INET.pm
index d2cc488dd2..56dd7a2660 100644
--- a/ext/IO/lib/IO/Socket/INET.pm
+++ b/ext/IO/lib/IO/Socket/INET.pm
@@ -84,7 +84,8 @@ sub _error {
my $err = shift;
{
local($!);
- $@ = join("",ref($sock),": ",@_);
+ my $title = ref($sock).": ";
+ $@ = join("", $_[0] =~ /^$title/ ? "" : $title, @_);
close($sock)
if(defined fileno($sock));
}
@@ -189,12 +190,13 @@ sub configure {
# my $timeout = ${*$sock}{'io_socket_timeout'};
# my $before = time() if $timeout;
+ undef $@;
if ($sock->connect(pack_sockaddr_in($rport, $raddr))) {
# ${*$sock}{'io_socket_timeout'} = $timeout;
return $sock;
}
- return _error($sock, $!, "Timeout")
+ return _error($sock, $!, $@ || "Timeout")
unless @raddr;
# if ($timeout) {