Stas Bekman wrote:

This and your trace proves my suspicion that my solution just happened to work for the particular setup you had the crush with. But I think we are on the right track. We get the crash when the wrong perl is set as the current context. I will try to remove my recent solution and try to see why modperl_cmd_modules doesn't use the correct perl. This is the place where the problem comes from.

Please try this patch:


Index: src/modules/perl/mod_perl.c
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v
retrieving revision 1.201
diff -u -r1.201 mod_perl.c
--- src/modules/perl/mod_perl.c 23 Oct 2003 05:57:46 -0000      1.201
+++ src/modules/perl/mod_perl.c 23 Oct 2003 08:30:45 -0000
@@ -458,13 +458,6 @@
             exit(1); /*XXX*/
         }
     }
-
-#ifdef USE_ITHREADS
-    /* after other parent perls were started in vhosts, make sure that
-     * the context is set to the base_perl */
-    PERL_SET_CONTEXT(base_perl);
-#endif
-
 }

 #ifdef USE_ITHREADS
Index: src/modules/perl/modperl_cmd.c
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_cmd.c,v
retrieving revision 1.48
diff -u -r1.48 modperl_cmd.c
--- src/modules/perl/modperl_cmd.c      16 Sep 2003 01:57:27 -0000      1.48
+++ src/modules/perl/modperl_cmd.c      23 Oct 2003 08:30:45 -0000
@@ -116,6 +116,7 @@
 #ifdef USE_ITHREADS
         /* XXX: .htaccess support cannot use this perl with threaded MPMs */
         dTHXa(scfg->mip->parent->perl);
+        PERL_SET_CONTEXT(my_perl);
 #endif
         MP_TRACE_d(MP_FUNC, "load PerlModule %s\n", arg);

@@ -145,6 +146,7 @@
 #ifdef USE_ITHREADS
         /* XXX: .htaccess support cannot use this perl with threaded MPMs */
         dTHXa(scfg->mip->parent->perl);
+        PERL_SET_CONTEXT(my_perl);
 #endif

         MP_TRACE_d(MP_FUNC, "load PerlRequire %s\n", arg);
@@ -381,6 +383,7 @@
 #ifdef USE_ITHREADS
     /* XXX: .htaccess support cannot use this perl with threaded MPMs */
     aTHX = scfg->mip->parent->perl;
+    PERL_SET_CONTEXT(scfg->mip->parent->perl);
 #endif

/* data will be set by a <Perl> section */


__________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to