dougm 01/03/14 22:12:14 Modified: src/modules/perl modperl_mgv.c Log: duh, ap_pcw_walk_config already iterates over all servers, so deal with module reloading for VirtualHosts with 'PerlOptions +Parent' inside modperl_hash_handlers() Revision Changes Path 1.4 +3 -19 modperl-2.0/src/modules/perl/modperl_mgv.c Index: modperl_mgv.c =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_mgv.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- modperl_mgv.c 2001/03/15 05:39:07 1.3 +++ modperl_mgv.c 2001/03/15 06:12:14 1.4 @@ -330,7 +330,7 @@ /* precompute the hash(es) for handler names */ static void modperl_hash_handlers(pTHX_ apr_pool_t *p, server_rec *s, - MpAV *entry, void *reload) + MpAV *entry, void *data) { MP_dSCFG(s); int i; @@ -347,7 +347,8 @@ if (MpHandlerPARSED(handler)) { #ifdef USE_ITHREADS - if (reload && !modperl_mgv_lookup(aTHX_ handler->mgv_cv)) { + if ((MpSrvPARENT(scfg) && MpSrvAUTOLOAD(scfg)) + && !modperl_mgv_lookup(aTHX_ handler->mgv_cv)) { /* * this VirtualHost has its own parent interpreter * must require the module again with this server's THX @@ -425,21 +426,4 @@ ap_pcw_walk_config(p, s, &perl_module, NULL, modperl_dw_hash_handlers, modperl_sw_hash_handlers); - -#ifdef USE_ITHREADS - /* check for parent interpreters in virtual hosts who need modules - * loaded in their own namespace - */ - for (s=s->next; s; s=s->next) { - MP_dSCFG(s); - - if (!MpSrvPARENT(scfg) || !MpSrvAUTOLOAD(scfg)) { - continue; - } - - ap_pcw_walk_config(p, s, &perl_module, (void*)TRUE, - modperl_dw_hash_handlers, - modperl_sw_hash_handlers); - } -#endif }