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);