diff options
| author | Michael R. Mauger | 2017-07-24 22:15:04 -0400 |
|---|---|---|
| committer | Michael R. Mauger | 2017-07-24 22:15:04 -0400 |
| commit | df1a71272e5cdd10b511e2ffd702ca50ddd8a773 (patch) | |
| tree | 9b9ac725394ee80891e2bff57b6407d0e491e71a /src/thread.c | |
| parent | eb27fc4d49e8c914cd0e6a8a2d02159601542141 (diff) | |
| parent | 32daa3cb54523006c88717cbeac87964cd687a1b (diff) | |
| download | emacs-df1a71272e5cdd10b511e2ffd702ca50ddd8a773.tar.gz emacs-df1a71272e5cdd10b511e2ffd702ca50ddd8a773.zip | |
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Diffstat (limited to 'src/thread.c')
| -rw-r--r-- | src/thread.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/thread.c b/src/thread.c index e3787971a53..1f7ced386d3 100644 --- a/src/thread.c +++ b/src/thread.c | |||
| @@ -595,14 +595,15 @@ thread_select (select_func *func, int max_fds, fd_set *rfds, | |||
| 595 | static void | 595 | static void |
| 596 | mark_one_thread (struct thread_state *thread) | 596 | mark_one_thread (struct thread_state *thread) |
| 597 | { | 597 | { |
| 598 | struct handler *handler; | 598 | /* Get the stack top now, in case mark_specpdl changes it. */ |
| 599 | Lisp_Object tem; | 599 | void *stack_top = thread->stack_top; |
| 600 | 600 | ||
| 601 | mark_specpdl (thread->m_specpdl, thread->m_specpdl_ptr); | 601 | mark_specpdl (thread->m_specpdl, thread->m_specpdl_ptr); |
| 602 | 602 | ||
| 603 | mark_stack (thread->m_stack_bottom, thread->stack_top); | 603 | mark_stack (thread->m_stack_bottom, stack_top); |
| 604 | 604 | ||
| 605 | for (handler = thread->m_handlerlist; handler; handler = handler->next) | 605 | for (struct handler *handler = thread->m_handlerlist; |
| 606 | handler; handler = handler->next) | ||
| 606 | { | 607 | { |
| 607 | mark_object (handler->tag_or_ch); | 608 | mark_object (handler->tag_or_ch); |
| 608 | mark_object (handler->val); | 609 | mark_object (handler->val); |
| @@ -610,6 +611,7 @@ mark_one_thread (struct thread_state *thread) | |||
| 610 | 611 | ||
| 611 | if (thread->m_current_buffer) | 612 | if (thread->m_current_buffer) |
| 612 | { | 613 | { |
| 614 | Lisp_Object tem; | ||
| 613 | XSETBUFFER (tem, thread->m_current_buffer); | 615 | XSETBUFFER (tem, thread->m_current_buffer); |
| 614 | mark_object (tem); | 616 | mark_object (tem); |
| 615 | } | 617 | } |