summaryrefslogtreecommitdiff
path: root/perl.c
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1999-10-14 17:47:35 +0000
committerGurusamy Sarathy <gsar@cpan.org>1999-10-14 17:47:35 +0000
commit0cdb207790df717da1f7d2136f6b268baceb3494 (patch)
tree7a3741814379bd5b2e20aea2f320153c646f75e1 /perl.c
parent3e5d0dec1210692f67ee4d7c2687147c8f62f366 (diff)
downloadperl-0cdb207790df717da1f7d2136f6b268baceb3494.tar.gz
fix POPSTACK panics that ensued from bad interaction between
runlevels and stack of stacks (change#3988 done right); basically, we pop the runlevel if the stacklevel is not the same one we started the runlevel with p4raw-link: @3988 on //depot/perl: a7c6d24429ab2b6db54575a3bdc62c7ed9f881cf p4raw-id: //depot/perl@4376
Diffstat (limited to 'perl.c')
-rw-r--r--perl.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/perl.c b/perl.c
index 0bb828fb7a..a117b7b103 100644
--- a/perl.c
+++ b/perl.c
@@ -1241,16 +1241,10 @@ Perl_call_sv(pTHX_ SV *sv, I32 flags)
PL_op->op_private |= OPpENTERSUB_DB;
if (!(flags & G_EVAL)) {
- /* G_NOCATCH is a hack for perl_vdie using this path to call
- a __DIE__ handler */
- if (!(flags & G_NOCATCH)) {
- CATCH_SET(TRUE);
- }
+ CATCH_SET(TRUE);
call_xbody((OP*)&myop, FALSE);
retval = PL_stack_sp - (PL_stack_base + oldmark);
- if (!(flags & G_NOCATCH)) {
- CATCH_SET(FALSE);
- }
+ CATCH_SET(FALSE);
}
else {
cLOGOP->op_other = PL_op;