X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=scpubgit%2FObject-Remote.git;a=blobdiff_plain;f=lib%2FObject%2FRemote%2FRole%2FLogForwarder.pm;h=cad257257761787e7bd952ddc3bc3dd2b1607b4b;hp=d701b728f6ae0e6f28fb66a44801c7302e3791b8;hb=5add5e29851e82862e4d8f6d67dfce559f6685ce;hpb=f048e6dfeaefce08546e91cc9d4bf79492d7ca0d diff --git a/lib/Object/Remote/Role/LogForwarder.pm b/lib/Object/Remote/Role/LogForwarder.pm index d701b72..cad2572 100644 --- a/lib/Object/Remote/Role/LogForwarder.pm +++ b/lib/Object/Remote/Role/LogForwarder.pm @@ -1,10 +1,9 @@ package Object::Remote::Role::LogForwarder; use Moo::Role; -use Carp qw(cluck); -has _forward_destination => ( is => 'rw' ); has enable_forward => ( is => 'rw', default => sub { 1 } ); +has _forward_destination => ( is => 'rw' ); has _forward_stop => ( is => 'ro', required => 1, default => sub { {} } ); after _deliver_message => sub { @@ -24,7 +23,11 @@ after _deliver_message => sub { local $reentrant = $package; - $destination->_deliver_message($level, $generator, $args, $metadata); + eval { $destination->_deliver_message($level, $generator, $args, $metadata) }; + + if ($@ && $@ !~ /^Attempt to use Object::Remote::Proxy backed by an invalid handle/) { + die $@; + } }; sub exclude_forwarding {