summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChip Salzenberg <chip@perl.com>1997-02-18 12:20:07 +1200
committerChip Salzenberg <chip@atlantic.net>1997-02-22 04:41:00 +1200
commit4bf61a0fda67b03da87e21b660bbe0d541b8f3ef (patch)
tree3a22a5f01495b68e0027e8d482c04f4f4ee596ac
parent9018c6a0ad2eec720793b9f87c9c80e676660aeb (diff)
downloadperl-4bf61a0fda67b03da87e21b660bbe0d541b8f3ef.tar.gz
Undo signal patch -- it broke die() in signal
-rw-r--r--mg.c19
1 files changed, 1 insertions, 18 deletions
diff --git a/mg.c b/mg.c
index f42a4ad339..318b7fef2d 100644
--- a/mg.c
+++ b/mg.c
@@ -1545,24 +1545,11 @@ int sig;
SV *sv;
CV *cv;
AV *oldstack;
- bool long_savestack = (savestack_ix + 14) < savestack_max;
- bool long_cxstack = (cxstack_ix + 1) < cxstack_max;
-
- /* Protect PUSHXXX in progress. */
- if (long_cxstack)
- cxstack_ix++;
if (!psig_ptr[sig])
die("Signal SIG%s received, but no signal handler set.\n",
sig_name[sig]);
- /*
- * Protect save in progress. Max number of items pushed there is
- * 3*n or 4. We cannot fix infinity, so we fix 4 (in fact 5).
- */
- if (long_savestack)
- savestack_ix += 5;
-
cv = sv_2cv(psig_ptr[sig],&st,&gv,TRUE);
if (!cv || !CvROOT(cv)) {
if (dowarn)
@@ -1589,10 +1576,6 @@ int sig;
perl_call_sv((SV*)cv, G_DISCARD);
SWITCHSTACK(signalstack, oldstack);
- if (long_savestack)
- savestack_ix -= 5; /* Unprotect save in progress. */
- if (long_cxstack)
- cxstack_ix--; /* Unprotect PUSHXXX in progress. */
-
+
return;
}