stas 2004/06/02 15:47:24
Modified: . Changes
ModPerl-Registry/lib/ModPerl RegistryCooker.pm
Log:
fix a bug in Registry handlers, where the same error was logged twice
and potentially a wrong error code returned
Revision Changes Path
1.386 +3 -0 modperl-2.0/Changes
Index: Changes
===================================================================
RCS file: /home/cvs/modperl-2.0/Changes,v
retrieving revision 1.385
retrieving revision 1.386
diff -u -u -r1.385 -r1.386
--- Changes 2 Jun 2004 21:35:58 -0000 1.385
+++ Changes 2 Jun 2004 22:47:24 -0000 1.386
@@ -12,6 +12,9 @@
=item 1.99_15-dev
+fix a bug in Registry handlers, where the same error was logged twice
+and potentially a wrong error code returned [Stas]
+
Apache::RequestIO: print(), printf(), puts(), write(), rflush() throw
an exception on failure [Stas]
1.49 +12 -6 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.48
retrieving revision 1.49
diff -u -u -r1.48 -r1.49
--- RegistryCooker.pm 9 May 2004 21:01:47 -0000 1.48
+++ RegistryCooker.pm 2 Jun 2004 22:47:24 -0000 1.49
@@ -204,14 +204,20 @@
# log script's execution errors
$rc = $self->error_check;
- ModPerl::Global::special_list_call(END => $package);
+ {
+ # there might be no END blocks to call, so $@ will be not
+ # reset
+ local $@;
+ ModPerl::Global::special_list_call(END => $package);
- # log script's END blocks execution errors
- my $new_rc = $self->error_check;
+ # 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;
+ }
- # 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) {