From: Gurusamy Sarathy Date: Tue, 25 Feb 1997 22:00:49 +0000 (-0500) Subject: _90 op/tie.t gets "Segmentation fault" with Sarathy's perl_call patch X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=20efc0829f6564c44574762adb07e8865bc14026;p=p5sagit%2Fp5-mst-13.2.git _90 op/tie.t gets "Segmentation fault" with Sarathy's perl_call patch On Tue, 25 Feb 1997 14:41:30 EST, Chip Salzenberg wrote: >According to Gurusamy Sarathy: >> On Tue, 25 Feb 1997 10:07:02 PST, David Dyck wrote: >> >summary: >> > op/tie.t gets "Segmentation fault" with Sarathy's perl_call patch >> >> Try this patch. > >That's got it. Now pureperl doesn't complain about op/tie.t. > Good. This here patch sets up the flag in a few more places (to avoid redundant sigjmp()s which was why t/op/tie.t triggered execution of docatch()). This patch fixes that flag leak. p5p-msgid: <199702252200.RAA16853@aatma.engin.umich.edu> --- diff --git a/perl.c b/perl.c index 9f3942e..8794dd6 100644 --- a/perl.c +++ b/perl.c @@ -509,6 +509,7 @@ setuid perl scripts securely.\n"); calllist(endav); return STATUS_NATIVE_EXPORT; case 3: + mustcatch = FALSE; PerlIO_printf(PerlIO_stderr(), "panic: top_env\n"); return 1; } @@ -800,6 +801,7 @@ PerlInterpreter *sv_interp; #endif return STATUS_NATIVE_EXPORT; case 3: + mustcatch = FALSE; if (!restartop) { PerlIO_printf(PerlIO_stderr(), "panic: restartop\n"); FREETMPS; @@ -1030,6 +1032,7 @@ I32 flags; /* See G_* flags in cop.h */ my_exit_jump(); /* NOTREACHED */ case 3: + mustcatch = FALSE; if (restartop) { op = restartop; restartop = 0; @@ -1140,6 +1143,7 @@ restart: my_exit_jump(); /* NOTREACHED */ case 3: + mustcatch = FALSE; if (restartop) { op = restartop; restartop = 0; diff --git a/pp_ctl.c b/pp_ctl.c index c2f1361..de3c13b 100644 --- a/pp_ctl.c +++ b/pp_ctl.c @@ -1968,6 +1968,7 @@ OP *o; PerlIO_printf(PerlIO_stderr(), "panic: restartop\n"); break; } + mustcatch = FALSE; op = restartop; restartop = 0; /* FALL THROUGH */