[libanyevent-handle-udp-perl] 44/60: Fix error handling in a number of places
Jonas Smedegaard
js at alioth.debian.org
Mon Sep 30 10:05:45 UTC 2013
This is an automated email from the git hooks/post-receive script.
js pushed a commit to branch master
in repository libanyevent-handle-udp-perl.
commit 0356e469ccedd52189b330b544dcf80b616ba975
Author: Leon Timmermans <fawaka at gmail.com>
Date: Thu Aug 29 13:03:27 2013 +0200
Fix error handling in a number of places
---
Changes | 1 +
lib/AnyEvent/Handle/UDP.pm | 12 ++++++------
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/Changes b/Changes
index ec60b3d..75375b5 100644
--- a/Changes
+++ b/Changes
@@ -1,6 +1,7 @@
Revision history for AnyEvent-Handle-UDP
{{$NEXT}}
+ Fix error handling in a number of places
0.039 2013-01-17 16:04:04 Europe/Amsterdam
Hopefully really fixed for old perl+old Socket.pm
diff --git a/lib/AnyEvent/Handle/UDP.pm b/lib/AnyEvent/Handle/UDP.pm
index 3bec99c..c617458 100644
--- a/lib/AnyEvent/Handle/UDP.pm
+++ b/lib/AnyEvent/Handle/UDP.pm
@@ -149,7 +149,8 @@ for my $dir ('', 'r', 'w') {
if ($after <= 0) {
$self->$activity($now);
my $time = $self->$on_timeout;
- $time ? $time->($self) : $self->_error->(Errno::ETIMEDOUT, 0);
+ my $error = do { local $! = Errno::ETIMEDOUT; "$!" };
+ $time ? $time->($self) : $self->_error->(0, $error);
return if not $self->$has_timeout;
}
weaken $self;
@@ -210,7 +211,7 @@ sub _bind_to {
fh_nonblocking $fh, 1;
}
bind $fh, $sockaddr or $self->_error(1, "Could not bind: $!");
- setsockopt $fh, SOL_SOCKET, SO_REUSEADDR, 1 or $self->_error($!, 1, "Couldn't set so_reuseaddr: $!");
+ setsockopt $fh, SOL_SOCKET, SO_REUSEADDR, 1 or $self->_error(1, "Couldn't set so_reuseaddr: $!");
};
if (ref $addr) {
my ($host, $port) = @{$addr};
@@ -260,7 +261,7 @@ sub _on_addr {
AnyEvent::Socket::resolve_sockaddr($host, $port, 'udp', _get_family($fh) || $self->family, SOCK_DGRAM, sub {
my @targets = @_;
while (1) {
- my $target = shift @targets or $self->_error(1, "No such host '$host' or port '$port'");
+ my $target = shift @targets or $self->_error(1, "Could not resolve $host:$port");
$on_success->(@{$target});
last;
}
@@ -276,7 +277,7 @@ sub _error {
$self->destroy if $fatal;
} else {
$self->destroy;
- croak "AnyEvent::Handle uncaught error: $message";
+ croak "AnyEvent::Handle::UDP uncaught error: $message";
}
return;
}
@@ -301,7 +302,7 @@ sub push_send {
sub _send {
my ($self, $message, $to, $cv) = @_;
my $ret = defined $to ? send $self->{fh}, $message, 0, $to : send $self->{fh}, $message, 0;
- $self->_error(1, "$!") if not defined $ret and !$non_fatal{$! + 0};
+ $self->_error(1, "Could not send: $!") if not defined $ret and !$non_fatal{$! + 0};
if (defined $cv and defined $ret) {
$self->timeout_reset;
$self->wtimeout_reset;
@@ -320,7 +321,6 @@ sub _push_writer {
my $ret = $self->_send($msg, $to, $cv);
if (not defined $ret) {
unshift @{$self->_buffers}, $entry;
- $self->_error->(1, "$!") if !$non_fatal{$! + 0};
last;
}
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libanyevent-handle-udp-perl.git
More information about the Pkg-perl-cvs-commits
mailing list