aboutsummaryrefslogtreecommitdiffstats
path: root/src/thread.c
diff options
context:
space:
mode:
authorMichael R. Mauger2017-07-24 22:15:04 -0400
committerMichael R. Mauger2017-07-24 22:15:04 -0400
commitdf1a71272e5cdd10b511e2ffd702ca50ddd8a773 (patch)
tree9b9ac725394ee80891e2bff57b6407d0e491e71a /src/thread.c
parenteb27fc4d49e8c914cd0e6a8a2d02159601542141 (diff)
parent32daa3cb54523006c88717cbeac87964cd687a1b (diff)
downloademacs-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.c10
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,
595static void 595static void
596mark_one_thread (struct thread_state *thread) 596mark_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 }