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)