emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 2254b6c: Clear gcprolist etc. after stack overflow


From: Paul Eggert
Subject: [Emacs-diffs] master 2254b6c: Clear gcprolist etc. after stack overflow
Date: Tue, 14 Jul 2015 14:03:14 +0000

branch: master
commit 2254b6c09cff8f3a83684fd159289d0e305b0e7d
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    Clear gcprolist etc. after stack overflow
    
    After stack overflow, command_loop calls init_eval, and this needs to
    clear gcprolist and byte_stack_list (Bug#20996).
    * src/alloc.c (init_alloc):
    Move gcprolist and byte_stack_list initialization from here ...
    * src/eval.c (init_eval): ... to here.
---
 src/alloc.c |    2 --
 src/eval.c  |    2 ++
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/alloc.c b/src/alloc.c
index c9bdcc2..9ac3ad8 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -7255,8 +7255,6 @@ init_alloc_once (void)
 void
 init_alloc (void)
 {
-  gcprolist = 0;
-  byte_stack_list = 0;
 #if GC_MARK_STACK
 #if !defined GC_SAVE_REGISTERS_ON_STACK && !defined GC_SETJMP_WORKS
   setjmp_tested_p = longjmps_done = 0;
diff --git a/src/eval.c b/src/eval.c
index 4655095..4f7f42f 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -220,6 +220,8 @@ static struct handler handlerlist_sentinel;
 void
 init_eval (void)
 {
+  gcprolist = 0;
+  byte_stack_list = 0;
   specpdl_ptr = specpdl;
   { /* Put a dummy catcher at top-level so that handlerlist is never NULL.
        This is important since handlerlist->nextfree holds the freelist



reply via email to

[Prev in Thread] Current Thread [Next in Thread]