dougm       00/04/28 19:28:36

  Modified:    .        00README_FIRST Makefile.PL
               src/modules/perl modperl_callback.c modperl_interp.c
  Removed:     patches  perl_no_get_context.pat
  Log:
  no patch to 5.6.0 is needed when PERL_SET_CONTEXT is properly used
  tell perl_clone() not to clone the stacks (requires scopestack_ix hack)
  
  Revision  Changes    Path
  1.6       +1 -2      modperl-2.0/00README_FIRST
  
  Index: 00README_FIRST
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/00README_FIRST,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- 00README_FIRST    2000/04/25 05:16:07     1.5
  +++ 00README_FIRST    2000/04/29 02:28:34     1.6
  @@ -8,8 +8,7 @@
   and on the list
   
   if you want to try building with an interpreter pool, you'll need Perl
  -5.6.0 with patches/perl_no_get_context.pat applied and Perl built like 
  -so:
  +5.6.0 built like so:
   
   % ./Configure -des -Dusethreads
   
  
  
  
  1.17      +1 -1      modperl-2.0/Makefile.PL
  
  Index: Makefile.PL
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/Makefile.PL,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- Makefile.PL       2000/04/26 07:28:45     1.16
  +++ Makefile.PL       2000/04/29 02:28:35     1.17
  @@ -26,7 +26,7 @@
       VERSION => $VERSION,
       macro => {
           MODPERL_SRC => $code->path,
  -        PERL => $build->perl_config('perl5'),
  +        PERL => $build->perl_config('perlpath'),
       },
       clean => {
           FILES => "@{ clean_files() }",
  
  
  
  1.8       +1 -0      modperl-2.0/src/modules/perl/modperl_callback.c
  
  Index: modperl_callback.c
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_callback.c,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- modperl_callback.c        2000/04/27 22:18:36     1.7
  +++ modperl_callback.c        2000/04/29 02:28:35     1.8
  @@ -339,6 +339,7 @@
           /* Child{Init,Exit}, OpenLogs */
           aTHX = scfg->mip->parent->perl;
       }
  +    PERL_SET_CONTEXT(aTHX);
   #endif
   
       MP_TRACE_h(MP_FUNC, "running %d %s handlers\n",
  
  
  
  1.10      +11 -1     modperl-2.0/src/modules/perl/modperl_interp.c
  
  Index: modperl_interp.c
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_interp.c,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- modperl_interp.c  2000/04/27 21:42:25     1.9
  +++ modperl_interp.c  2000/04/29 02:28:35     1.10
  @@ -24,8 +24,17 @@
           );
   #endif
   
  -        interp->perl = perl_clone(perl, TRUE);
  +        interp->perl = perl_clone(perl, FALSE);
  +        {
  +            /* XXX: hack for bug fixed in 5.6.1 */
  +            dTHXa(interp->perl);
  +            if (PL_scopestack_ix == 0) {
  +                ENTER;
  +            }
  +        }
  +
           MpInterpCLONED_On(interp);
  +        PERL_SET_CONTEXT(mip->parent->perl);
   
   #ifdef MP_USE_GTOP
           MP_TRACE_m_do(
  @@ -50,6 +59,7 @@
           MP_TRACE_i(MP_FUNC, "*error - still in use!*\n");
       }
   
  +    PERL_SET_CONTEXT(interp->perl);
       PL_perl_destruct_level = 2;
       perl_destruct(interp->perl);
       perl_free(interp->perl);
  
  
  

Reply via email to