Skip Menu |

This queue is for tickets about the Net-Address-IP-Local CPAN distribution.

Report information
The Basics
Id: 71597
Status: rejected
Priority: 0/
Queue: Net-Address-IP-Local

People
Owner: Nobody in particular
Requestors: henrik.pauli [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: eval require checks fail when DIE signal is set
The eval perldoc mentions the following: Show quoted text
> Using the eval{} form as an exception trap in libraries does have some
issues. Due to the current arguably broken state of __DIE__ hooks, you may wish not to trigger any __DIE__ hooks that user code may have installed. You can use the local $SIG{__DIE__} construct for this purpose, as this example shows: Show quoted text
> > eval { local $SIG{'__DIE__'}; $answer = $a / $b; };
We've just run into this problem where we didn't have IO::Socket::INET6 installed and the program still died.
Thanks for the report, but I'm not sure what your point is. Are you suggesting that Net::Address::IP::Local use the local $SIG{__DIE__} construct to inhibit any signal handlers installed by calling code?
From: henrik.pauli [...] gmail.com
On Szo 2013. Máj 25 18:17:31, JMEHNLE wrote: Show quoted text
> Thanks for the report, but I'm not sure what your point is. Are you > suggesting that Net::Address::IP::Local use the local $SIG{__DIE__} > construct to inhibit any signal handlers installed by calling code?
Sorry about this, I don't remember either what was the exact problem there and had made a really confusing report... It could well be that the __DIE__ handler in our code was at fault here, which I have since completely rewritten and it's now much more careful about things. So, chances are this bug can be closed and your module is fine as it is. Sorry again.
Alright, I'll consider this moot. Thanks for taking the time to respond after more than a year.