On Thu, Feb 11, 2010 at 05:32, Rafael Garcia-Suarez
<rgarciasuarez@gmail.com> wrote:
> In perl.git, the branch blead has been updated>> <http://perl5.git.perl.org/perl.git/commitdiff/2630fd9e8e31d2fd409e2e8ec1=6dc85d230a3eb3?hp=3D78c4a74a09b8f7ed410a879bd78dfb83cbf7861c>
>> - Log -----------------------------------------------------------------> commit 2630fd9e8e31d2fd409e2e8ec16dc85d230a3eb3> Author: Tim Bunce <Tim.Bunce@pobox.com>> Date: =A0 Thu Feb 11 11:29:17 2010 +0100>> =A0 =A0Bug in Safe 2.21 re propagating exceptions>> =A0 =A0An exception thrown from a closure gets lost.> =A0 =A0I've boiled it down to this:>> =A0 =A0 =A0 perl -MSafe -e 'Safe->new->reval(q{sub { die @_ }})->(qq{ok\n=})'
>> =A0 =A0That should die with "ok".>> =A0 =A0The problem is that the closure that wraps any returned code ref i=f
> =A0 =A0threads are enabled is acting as an eval block so hiding the excep=tion.
> -----------------------------------------------------------------------This is causing the following anomoly in 'make test':
dist/Safe/t/safesort........................................... (in
cleanup) died
ok