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