summaryrefslogtreecommitdiff
path: root/Src/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/parse.c')
-rw-r--r--Src/parse.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/Src/parse.c b/Src/parse.c
index 09567fde2..1a7416449 100644
--- a/Src/parse.c
+++ b/Src/parse.c
@@ -456,6 +456,8 @@ init_parse_status(void)
void
init_parse(void)
{
+ queue_signals();
+
if (ecbuf) zfree(ecbuf, eclen);
ecbuf = (Wordcode) zalloc((eclen = EC_INIT_SIZE) * sizeof(wordcode));
@@ -466,6 +468,8 @@ init_parse(void)
ecnfunc = 0;
init_parse_status();
+
+ unqueue_signals();
}
/* Build eprog. */
@@ -488,6 +492,8 @@ bld_eprog(int heap)
Eprog ret;
int l;
+ queue_signals();
+
ecadd(WCB_END());
ret = heap ? (Eprog) zhalloc(sizeof(*ret)) : (Eprog) zalloc(sizeof(*ret));
@@ -511,6 +517,8 @@ bld_eprog(int heap)
zfree(ecbuf, eclen);
ecbuf = NULL;
+ unqueue_signals();
+
return ret;
}