summaryrefslogtreecommitdiff
path: root/gcc/alloca.c
diff options
context:
space:
mode:
authorrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>1994-06-02 17:45:40 +0000
committerrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>1994-06-02 17:45:40 +0000
commit34578a6b48282cd421a6ad415d7e03410a7fd507 (patch)
treea8b70a50334cac73be8c205a9097dd81d1d3c509 /gcc/alloca.c
parentf17fe086cd4636d77ffab7406835fa84002adea9 (diff)
downloadgcc-34578a6b48282cd421a6ad415d7e03410a7fd507.tar.gz
[emacs]: Block input around the garbage reclamation.
Include blockinput.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@7422 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/alloca.c')
-rw-r--r--gcc/alloca.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/alloca.c b/gcc/alloca.c
index bd4932aa445..d1f4d1a302b 100644
--- a/gcc/alloca.c
+++ b/gcc/alloca.c
@@ -29,6 +29,10 @@
#endif
#endif
+#ifdef emacs
+#include "blockinput.h"
+#endif
+
/* If compiling with GCC 2, this file's not needed. */
#if !defined (__GNUC__) || __GNUC__ < 2
@@ -176,6 +180,10 @@ alloca (size)
{
register header *hp; /* Traverses linked list. */
+#ifdef emacs
+ BLOCK_INPUT;
+#endif
+
for (hp = last_alloca_header; hp != NULL;)
if ((STACK_DIR > 0 && hp->h.deep > depth)
|| (STACK_DIR < 0 && hp->h.deep < depth))
@@ -190,6 +198,10 @@ alloca (size)
break; /* Rest are not deeper. */
last_alloca_header = hp; /* -> last valid storage. */
+
+#ifdef emacs
+ UNBLOCK_INPUT;
+#endif
}
if (size == 0)