ugh, another message lost to the email-eating tree...
reposting.
> What am I missing?
that there was a bug? :)
ok, here's what I think is going on. we only register the %ENV cleanup
function when a Perl*Handler runs for a given request but in your case that
doesn't happen by design, so %ENV is set up but never cleaned up and %ENV
propagates forever.
I think this patch ought to do the trick. the only problem is that I can't
seem to reproduce your bug in our test environment, probably because there
is _always_ some mod_perl handler running in the base config, even if I
create a separate virtual host. nevertheless, give it a whirl and report
back if it seems to fix your issue.
oh, and sorry for the slow turnaround and overall silence :)
--Geoff
Index: src/modules/perl/modperl_env.c
===================================================================
--- src/modules/perl/modperl_env.c (revision 178515)
+++ src/modules/perl/modperl_env.c (working copy)
@@ -379,6 +379,12 @@
* resets %ENV between requests - see modperl_config_request_cleanup
*/
MpReqSETUP_ENV_On(rcfg);
+
+ /* we're populating %ENV, so make sure we clean up afterwards,
+ * regardless of whether we actually enter the request again
+ * with a Perl*Handler (a la modperl_callback_run_handlers)
+ */
+ modperl_config_req_cleanup_register(r, rcfg);
}
void modperl_env_request_unpopulate(pTHX_ request_rec *r)