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)

Reply via email to