You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by do...@apache.org on 2002/05/27 20:39:04 UTC
cvs commit: modperl-2.0/src/modules/perl modperl_env.c
dougm 02/05/27 11:39:03
Modified: src/modules/perl modperl_env.c
Log:
propagate scfg->SetEnv to %ENV
Revision Changes Path
1.21 +26 -18 modperl-2.0/src/modules/perl/modperl_env.c
Index: modperl_env.c
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_env.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- modperl_env.c 19 Nov 2001 00:07:28 -0000 1.20
+++ modperl_env.c 27 May 2002 18:39:03 -0000 1.21
@@ -62,9 +62,34 @@
modperl_env_tie(mg_flags);
}
+static void modperl_env_table_populate(pTHX_ apr_table_t *table)
+{
+ HV *hv = ENVHV;
+ U32 mg_flags;
+ int i;
+ const apr_array_header_t *array;
+ apr_table_entry_t *elts;
+
+ modperl_env_untie(mg_flags);
+
+ array = apr_table_elts(table);
+ elts = (apr_table_entry_t *)array->elts;
+
+ for (i = 0; i < array->nelts; i++) {
+ if (!elts[i].key || !elts[i].val) {
+ continue;
+ }
+ modperl_env_hv_store(aTHX_ hv, &elts[i]);
+ }
+
+ modperl_env_tie(mg_flags);
+}
+
void modperl_env_configure_server(pTHX_ apr_pool_t *p, server_rec *s)
{
/* XXX: propagate scfg->SetEnv to environ */
+ MP_dSCFG(s);
+ modperl_env_table_populate(aTHX_ scfg->SetEnv);
}
#define overlay_subprocess_env(r, tab) \
@@ -106,11 +131,6 @@
void modperl_env_request_populate(pTHX_ request_rec *r)
{
MP_dRCFG;
- HV *hv = ENVHV;
- U32 mg_flags;
- int i;
- const apr_array_header_t *array;
- apr_table_entry_t *elts;
if (MpReqSETUP_ENV(rcfg)) {
return;
@@ -124,19 +144,7 @@
ap_add_common_vars(r);
ap_add_cgi_vars(r);
- modperl_env_untie(mg_flags);
-
- array = apr_table_elts(r->subprocess_env);
- elts = (apr_table_entry_t *)array->elts;
-
- for (i = 0; i < array->nelts; i++) {
- if (!elts[i].key || !elts[i].val) {
- continue;
- }
- modperl_env_hv_store(aTHX_ hv, &elts[i]);
- }
-
- modperl_env_tie(mg_flags);
+ modperl_env_table_populate(aTHX_ r->subprocess_env);
#ifdef MP_COMPAT_1X
modperl_env_default_populate(aTHX); /* reset GATEWAY_INTERFACE */