Latest changes to modperl_module.c don't build for me at this moment. Following patch fixes it.
Index: src/modules/perl/modperl_module.c
===================================================================
RCS file: /home/cvspublic/modperl-2.0/src/modules/perl/modperl_module.c,v
retrieving revision 1.9
diff -b -B -u -r1.9 modperl_module.c
--- src/modules/perl/modperl_module.c 12 Dec 2002 10:12:41 -0000 1.9
+++ src/modules/perl/modperl_module.c 12 Dec 2002 20:58:08 -0000
@@ -154,6 +154,16 @@
*add = (modperl_module_cfg_t *)addv;
/* if the module is loaded in vhost, base==NULL */
+ server_rec *s;
+
+ int is_startup;
+ PTR_TBL_t *table;
+ SV *mrg_obj, *base_obj, *add_obj;
+
+#ifdef USE_ITHREADS
+ modperl_interp_t *interp;
+ dTHX;
+#endif
tmp = (base && base->server) ? base : add;
if (tmp && !tmp->server) {
@@ -161,18 +171,18 @@
return basev;
}
- server_rec *s = tmp->server;
- int is_startup = (p == s->process->pconf);
+ s = tmp->server;
+ is_startup = (p == s->process->pconf);
#ifdef USE_ITHREADS
- modperl_interp_t *interp = modperl_interp_pool_select(p, s);
- dTHXa(interp->perl);
+ interp = modperl_interp_pool_select(p, s);
+ aTHX = interp->perl;
#endif
- PTR_TBL_t *table = modperl_module_config_table_get(aTHX_ TRUE);
- SV *mrg_obj = Nullsv,
- *base_obj = modperl_svptr_table_fetch(aTHX_ table, base),
- *add_obj = modperl_svptr_table_fetch(aTHX_ table, add);
+ table = modperl_module_config_table_get(aTHX_ TRUE);
+ mrg_obj = Nullsv;
+ base_obj = modperl_svptr_table_fetch(aTHX_ table, base);
+ add_obj = modperl_svptr_table_fetch(aTHX_ table, add);
if (!base_obj || (base_obj == add_obj)) {
return addv;
@@ -334,6 +344,14 @@
(modperl_module_cmd_data_t *)cmd->cmd_data;
modperl_module_info_t *minfo = MP_MODULE_INFO(info->modp);
modperl_module_cfg_t *srv_cfg;
+ SV *obj = Nullsv;
+ int count;
+ PTR_TBL_t *table;
+#ifdef USE_ITHREADS
+ modperl_interp_t *interp;
+ dTHX;
+ dSP;
+#endif
if (s->is_virtual) {
MP_dSCFG(s);
@@ -372,14 +390,12 @@
}
#ifdef USE_ITHREADS
- modperl_interp_t *interp = modperl_interp_pool_select(p, s);
- dTHXa(interp->perl);
+ interp = modperl_interp_pool_select(p, s);
+ aTHX = interp->perl;
#endif
- int count;
- PTR_TBL_t *table = modperl_module_config_table_get(aTHX_ TRUE);
- SV *obj = Nullsv;
- dSP;
+ table = modperl_module_config_table_get(aTHX_ TRUE);
+
errmsg = modperl_module_config_get_obj(aTHX_ p, table, cfg, info,
minfo->dir_create,
--------------------------------------------------------------------------------
Philippe M. Chiasson /gozer\@(cpan|ectoplasm)\.org/ 88C3A5A5
(122FF51B/C634E37B)
http://gozer.ectoplasm.org/ F9BF E0C2 480E 7680 1AE5 3631 CB32 A107
88C3 A5A5
Q: It is impossible to make anything foolproof because fools are so
ingenious.
perl
-e'$$=\${gozer};{$_=unpack(P7,pack(L,$$));/^JAm_pH\n$/&&print||$$++&&redo}'
signature.asc
Description: This is a digitally signed message part
