this patch should fix the problem.  you should also be able to
s/PerlSetEnv/SetEnv/g, unless Embperl needs these variables before the
fixup phase.

Index: src/modules/perl/mod_perl.c
===================================================================
RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.c,v
retrieving revision 1.140
diff -u -r1.140 mod_perl.c
--- src/modules/perl/mod_perl.c 2001/06/19 03:12:44     1.140
+++ src/modules/perl/mod_perl.c 2001/07/10 03:19:27
@@ -1388,6 +1388,14 @@
        cfg->setup_env = 0; /* just once per-request */
     }
 
+    if (cfg->dir_env != cld->env) {
+        /* PerlSetEnv
+         * update only if the table changes across a request
+         */
+        mod_perl_dir_env(r, cld);
+        cfg->dir_env = cld->env;
+    }
+
     if(callbacks_this_request++ > 0) return;
 
     if (!r->main) {
@@ -1397,9 +1405,6 @@
         */
        (void)perl_request_rec(r);
     }
-
-    /* PerlSetEnv */
-    mod_perl_dir_env(r, cld);
 
     /* SetEnv PERL5LIB */
     if (!MP_INCPUSH(cld)) {
Index: src/modules/perl/mod_perl.h
===================================================================
RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.h,v
retrieving revision 1.109
diff -u -r1.109 mod_perl.h
--- src/modules/perl/mod_perl.h 2001/06/19 03:12:45     1.109
+++ src/modules/perl/mod_perl.h 2001/07/10 03:19:30
@@ -1064,6 +1064,7 @@
 typedef struct {
     HV *pnotes;
     int setup_env;
+    table *dir_env;
     array_header *sigsave;
 } perl_request_config;
 

Reply via email to