stas        2003/11/23 13:26:01

  Modified:    ModPerl-Registry/lib/ModPerl PerlRun.pm Registry.pm
                        RegistryCooker.pm
               .        Changes
  Log:
  Fix ModPerl::Registry handlers family to modify $0 only for the
  duration of the handler, by localizing it
  
  Revision  Changes    Path
  1.7       +1 -1      modperl-2.0/ModPerl-Registry/lib/ModPerl/PerlRun.pm
  
  Index: PerlRun.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/ModPerl-Registry/lib/ModPerl/PerlRun.pm,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -u -r1.6 -r1.7
  --- PerlRun.pm        23 Mar 2003 04:52:24 -0000      1.6
  +++ PerlRun.pm        23 Nov 2003 21:26:01 -0000      1.7
  @@ -37,7 +37,7 @@
       cache_it        => 'NOP',
       read_script     => 'read_script',
       rewrite_shebang => 'rewrite_shebang',
  -    set_script_name => 'set_script_name',
  +    get_script_name => 'get_script_name',
       chdir_file      => 'chdir_file_normal',
       get_mark_line   => 'get_mark_line',
       compile         => 'compile',
  
  
  
  1.8       +1 -1      modperl-2.0/ModPerl-Registry/lib/ModPerl/Registry.pm
  
  Index: Registry.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/ModPerl-Registry/lib/ModPerl/Registry.pm,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -u -r1.7 -r1.8
  --- Registry.pm       23 Mar 2003 04:52:24 -0000      1.7
  +++ Registry.pm       23 Nov 2003 21:26:01 -0000      1.8
  @@ -37,7 +37,7 @@
       cache_it        => 'cache_it',
       read_script     => 'read_script',
       rewrite_shebang => 'rewrite_shebang',
  -    set_script_name => 'set_script_name',
  +    get_script_name => 'get_script_name',
       chdir_file      => 'chdir_file_normal',
       get_mark_line   => 'get_mark_line',
       compile         => 'compile',
  
  
  
  1.38      +10 -8     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.37
  retrieving revision 1.38
  diff -u -u -r1.37 -r1.38
  --- RegistryCooker.pm 30 Aug 2003 02:39:45 -0000      1.37
  +++ RegistryCooker.pm 23 Nov 2003 21:26:01 -0000      1.38
  @@ -173,7 +173,6 @@
       my $r       = $self->{REQ};
       my $package = $self->{PACKAGE};
   
  -    $self->set_script_name;
       $self->chdir_file;
   
       my $cv = \&{"$package\::handler"};
  @@ -356,10 +355,13 @@
   
       $self->strip_end_data_segment;
   
  +    my $script_name = $self->get_script_name || $0;
  +
       my $eval = join '',
                       'package ',
                       $self->{PACKAGE}, ";",
  -                    "sub handler {\n",
  +                    "sub handler {",
  +                    "local \$0 = '$script_name';",
                       $line,
                       ${ $self->{CODE} },
                       "\n}"; # last line comment without newline?
  @@ -568,15 +570,15 @@
   }
   
   #########################################################################
  -# func: set_script_name
  -# dflt: set_script_name
  -# desc: set $0 to the script's name
  +# func: get_script_name
  +# dflt: get_script_name
  +# desc: get the script's name to set into $0
   # args: $self - registry blessed object
  -# rtrn: nothing
  +# rtrn: path to the script's filename
   #########################################################################
   
  -sub set_script_name {
  -    *0 = \(shift->{FILENAME});
  +sub get_script_name {
  +    shift->{FILENAME};
   }
   
   #########################################################################
  
  
  
  1.260     +3 -0      modperl-2.0/Changes
  
  Index: Changes
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/Changes,v
  retrieving revision 1.259
  retrieving revision 1.260
  diff -u -u -r1.259 -r1.260
  --- Changes   22 Nov 2003 10:27:42 -0000      1.259
  +++ Changes   23 Nov 2003 21:26:01 -0000      1.260
  @@ -12,6 +12,9 @@
   
   =item 1.99_12-dev
   
  +Fix ModPerl::Registry handlers family to modify $0 only for the
  +duration of the handler, by localizing it [Stas]
  +
   Fix :Apache perlio's STDOUT to be reentrant + modules/include_subreq
   test [Stas]
   
  
  
  

Reply via email to