dougm 01/03/14 23:21:14
Modified: src/modules/perl modperl_config.c
Log:
make per-dir merger do something more useful
Revision Changes Path
1.24 +16 -6 modperl-2.0/src/modules/perl/modperl_config.c
Index: modperl_config.c
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_config.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- modperl_config.c 2001/03/15 07:11:36 1.23
+++ modperl_config.c 2001/03/15 07:21:14 1.24
@@ -30,19 +30,32 @@
return dcfg;
}
+#define merge_item(item) \
+mrg->item = add->item ? add->item : base->item
+
void *modperl_merge_dir_config(apr_pool_t *p, void *basev, void *addv)
{
-#if 0
modperl_dir_config_t
*base = (modperl_dir_config_t *)basev,
*add = (modperl_dir_config_t *)addv,
*mrg = modperl_dir_config_new(p);
-#endif
MP_TRACE_d(MP_FUNC, "basev==0x%lx, addv==0x%lx\n",
(unsigned long)basev, (unsigned long)addv);
+
+#ifdef USE_ITHREADS
+ merge_item(interp_lifetime);
+#endif
+
+ { /* XXX: should do a proper merge of the arrays */
+ /* XXX: and check if Perl*Handler is disabled */
+ int i;
+ for (i=0; i<MP_PER_DIR_NUM_HANDLERS; i++) {
+ merge_item(handlers[i]);
+ }
+ }
- return addv;
+ return mrg;
}
modperl_request_config_t *modperl_request_config_new(request_rec *r)
@@ -147,9 +160,6 @@
return scfg;
}
-
-#define merge_item(item) \
-mrg->item = add->item ? add->item : base->item
/* XXX: this is not complete */
void *modperl_merge_srv_config(apr_pool_t *p, void *basev, void *addv)