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;