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) {
  
  
  

Reply via email to