stas 2004/03/10 15:19:44
Modified: ModPerl-Registry/lib/ModPerl RegistryCooker.pm . Changes Log: Fix Registry handlers, not to lose the execution errors, when they include END blocks Revision Changes Path 1.45 +13 -5 modperl-2.0/ModPerl-Registry/lib/ModPerl/RegistryCooker.pm Index: RegistryCooker.pm =================================================================== RCS file: /home/cvs/modperl-2.0/ModPerl-Registry/lib/ModPerl/RegistryCooker.pm,v retrieving revision 1.44 retrieving revision 1.45 diff -u -u -r1.44 -r1.45 --- RegistryCooker.pm 10 Mar 2004 22:47:40 -0000 1.44 +++ RegistryCooker.pm 10 Mar 2004 23:19:44 -0000 1.45 @@ -194,11 +194,23 @@ %orig_inc = %INC; } + my $rc = Apache::OK; { # run the code and preserve warnings setup when it's done no warnings FATAL => 'all'; #local $^W = 0; eval { $cv->($r, @_) }; + + # log script's execution errors + $rc = $self->error_check; + ModPerl::Global::special_list_call(END => $package); + + # log script's END blocks execution errors + my $new_rc = $self->error_check; + + # use the END blocks return status if the script's execution + # was successful + $rc = $new_rc if $rc != Apache::OK; } if ($self->should_reset_inc_hash) { @@ -217,11 +229,7 @@ #XXX: $self->chdir_file("$Apache::Server::CWD/"); - if ( (my $err_rc = $self->error_check) != Apache::OK) { - return $err_rc; - } - - return Apache::OK; + return $rc; } 1.347 +3 -0 modperl-2.0/Changes Index: Changes =================================================================== RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.346 retrieving revision 1.347 diff -u -u -r1.346 -r1.347 --- Changes 9 Mar 2004 20:50:21 -0000 1.346 +++ Changes 10 Mar 2004 23:19:44 -0000 1.347 @@ -12,6 +12,9 @@ =item 1.99_14-dev +Fix Registry handlers, not to lose the execution errors, when they +include END blocks [Stas] + =item 1.99_13 - March 8, 2004