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;fp=lib%2FObject%2FRemote%2FRole%2FLogForwarder.pm;h=ce5bbc28133749165342b83e24567c89511d0162;hp=5c2aecd8a4888fdac6a9069b8aebaf45d65a83b1;hb=55c0d0209fa9d9265ff178f54ae9fe5fdddef3c1;hpb=5ccce2d5c1fb651f83c73c811069003e4a591a53 diff --git a/lib/Object/Remote/Role/LogForwarder.pm b/lib/Object/Remote/Role/LogForwarder.pm index 5c2aecd..ce5bbc2 100644 --- a/lib/Object/Remote/Role/LogForwarder.pm +++ b/lib/Object/Remote/Role/LogForwarder.pm @@ -14,11 +14,11 @@ after _deliver_message => sub { my $package = $message_info{caller_package}; my $destination = $self->_forward_destination; our $reentrant; - + if (defined $message_info{object_remote}) { $message_info{object_remote} = { %{$message_info{object_remote}} }; } - + $message_info{object_remote}->{forwarded} = 1; return unless $self->enable_forward; @@ -29,11 +29,11 @@ after _deliver_message => sub { warn "log forwarding went reentrant. bottom: '$reentrant' top: '$package'"; return; } - + local $reentrant = $package; - + eval { $destination->_deliver_message(%message_info) }; - + if ($@ && $@ !~ /^Attempt to use Object::Remote::Proxy backed by an invalid handle/) { die $@; }