diff options
author | Gurusamy Sarathy <gsar@cpan.org> | 1999-10-14 17:47:35 +0000 |
---|---|---|
committer | Gurusamy Sarathy <gsar@cpan.org> | 1999-10-14 17:47:35 +0000 |
commit | 0cdb207790df717da1f7d2136f6b268baceb3494 (patch) | |
tree | 7a3741814379bd5b2e20aea2f320153c646f75e1 /perl.c | |
parent | 3e5d0dec1210692f67ee4d7c2687147c8f62f366 (diff) | |
download | perl-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.c | 10 |
1 files changed, 2 insertions, 8 deletions
@@ -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; |