diff options
author | David Mitchell <davem@iabyn.com> | 2012-01-08 15:45:39 +0000 |
---|---|---|
committer | David Mitchell <davem@iabyn.com> | 2012-01-08 15:45:39 +0000 |
commit | c94b42ea5841e1ad13f8a690f05308e25164ef27 (patch) | |
tree | 5288201ab3f0f3280e9a53e08df8e2682363984d | |
parent | 0d3e3823fc2c5798b126aa5b37330bbcf7532319 (diff) | |
download | perl-c94b42ea5841e1ad13f8a690f05308e25164ef27.tar.gz |
clarify how $SIG{__DIE__} can return
It can return via 'goto &sub', but not via 'goto LABEL'.
The docs originally just said 'via goto'
See [perl #44367].
-rw-r--r-- | pod/perlvar.pod | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/pod/perlvar.pod b/pod/perlvar.pod index 1727c6db43..61ad1a9434 100644 --- a/pod/perlvar.pod +++ b/pod/perlvar.pod @@ -558,10 +558,10 @@ The routine indicated by C<$SIG{__DIE__}> is called when a fatal exception is about to be thrown. The error message is passed as the first argument. When a C<__DIE__> hook routine returns, the exception processing continues as it would have in the absence of the hook, -unless the hook routine itself exits via a C<goto>, a loop exit, or a -C<die()>. The C<__DIE__> handler is explicitly disabled during the -call, so that you can die from a C<__DIE__> handler. Similarly for -C<__WARN__>. +unless the hook routine itself exits via a C<goto &sub>, a loop exit, +or a C<die()>. The C<__DIE__> handler is explicitly disabled during +the call, so that you can die from a C<__DIE__> handler. Similarly +for C<__WARN__>. Due to an implementation glitch, the C<$SIG{__DIE__}> hook is called even inside an C<eval()>. Do not use this to rewrite a pending |