stas        2003/10/14 17:31:33

  Modified:    src/modules/perl modperl_io.c
  Log:
  if both the main request and the sub-request happen to use overriden STD*,
  we can't re-use the same global to store the original GV, therefore need to
  generate a new global for each override.
  
  Revision  Changes    Path
  1.18      +6 -2      modperl-2.0/src/modules/perl/modperl_io.c
  
  Index: modperl_io.c
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_io.c,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -u -r1.17 -r1.18
  --- modperl_io.c      15 Oct 2003 00:28:51 -0000      1.17
  +++ modperl_io.c      15 Oct 2003 00:31:33 -0000      1.18
  @@ -92,7 +92,9 @@
   {
       dHANDLE("STDIN");
       int status;
  -    GV *handle_save = gv_fetchpv("STDIN_SAVED", TRUE, SVt_PVIO);
  +    GV *handle_save = gv_fetchpv(Perl_form(aTHX_ "Apache::RequestIO::_GEN_%ld",
  +                                           (long)PL_gensym++),
  +                                 TRUE, SVt_PVIO);
       SV *sv = sv_newmortal();
   
       sv_setref_pv(sv, "Apache::RequestRec", (void*)r);
  @@ -125,7 +127,9 @@
   {
       dHANDLE("STDOUT");
       int status;
  -    GV *handle_save = gv_fetchpv("STDOUT_SAVED", TRUE, SVt_PVIO);
  +    GV *handle_save = gv_fetchpv(Perl_form(aTHX_ "Apache::RequestIO::_GEN_%ld",
  +                                           (long)PL_gensym++),
  +                                 TRUE, SVt_PVIO);
       SV *sv = sv_newmortal();
   
       MP_TRACE_o(MP_FUNC, "start");
  
  
  

Reply via email to