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");