This is an automated email from the git hooks/post-receive script. gregoa pushed a commit to annotated tag release-0.004 in repository libclass-tiny-perl.
commit cefda6e37859c4a9f93862b178c271c5d606955a Author: David Golden <dagol...@cpan.org> Date: Wed Aug 21 16:17:38 2013 -0400 optimize global destruction check --- lib/Class/Tiny.pm | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/lib/Class/Tiny.pm b/lib/Class/Tiny.pm index 44cc982..439746c 100644 --- a/lib/Class/Tiny.pm +++ b/lib/Class/Tiny.pm @@ -102,27 +102,22 @@ sub new { } # Adapted from Moo and its dependencies - -BEGIN { - if ( defined ${^GLOBAL_PHASE} ) { - *_in_global_destruction = sub { return ${^GLOBAL_PHASE} eq 'DESTRUCT' } - } - else { - require Devel::GlobalDestruction; - *_in_global_destruction = \&Devel::GlobalDestruction::in_global_destrucution; - } -} +require Devel::GlobalDestruction unless defined ${^GLOBAL_PHASE}; sub DESTROY { my $self = shift; - + my $in_global_destruction = + defined ${^GLOBAL_PHASE} + ? ${^GLOBAL_PHASE} eq 'DESTRUCT' + : Devel::GlobalDestruction::in_global_destruction(); for my $s ( @{ mro::get_linear_isa( ref $self ) } ) { no strict 'refs'; my $demolisher = *{ $s . "::DEMOLISH" }{CODE}; - my $e = do { + next unless $demolisher; + my $e = do { local $?; local $@; - eval { $self->$demolisher( _in_global_destruction() ) if defined $demolisher }; + eval { $self->$demolisher($in_global_destruction) }; $@; }; no warnings 'misc'; # avoid (in cleanup) warnings -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libclass-tiny-perl.git _______________________________________________ Pkg-perl-cvs-commits mailing list Pkg-perl-cvs-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits