diff options
Diffstat (limited to 'src/thread.c')
| -rw-r--r-- | src/thread.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/thread.c b/src/thread.c index b5b7d7c0d71..c6742341fb8 100644 --- a/src/thread.c +++ b/src/thread.c | |||
| @@ -671,6 +671,8 @@ mark_one_thread (struct thread_state *thread) | |||
| 671 | mark_object (tem); | 671 | mark_object (tem); |
| 672 | } | 672 | } |
| 673 | 673 | ||
| 674 | mark_bytecode (&thread->bc); | ||
| 675 | |||
| 674 | /* No need to mark Lisp_Object members like m_last_thing_searched, | 676 | /* No need to mark Lisp_Object members like m_last_thing_searched, |
| 675 | as mark_threads_callback does that by calling mark_object. */ | 677 | as mark_threads_callback does that by calling mark_object. */ |
| 676 | } | 678 | } |
| @@ -839,6 +841,7 @@ finalize_one_thread (struct thread_state *state) | |||
| 839 | free_search_regs (&state->m_search_regs); | 841 | free_search_regs (&state->m_search_regs); |
| 840 | free_search_regs (&state->m_saved_search_regs); | 842 | free_search_regs (&state->m_saved_search_regs); |
| 841 | sys_cond_destroy (&state->thread_condvar); | 843 | sys_cond_destroy (&state->thread_condvar); |
| 844 | free_bc_thread (&state->bc); | ||
| 842 | } | 845 | } |
| 843 | 846 | ||
| 844 | DEFUN ("make-thread", Fmake_thread, Smake_thread, 1, 2, 0, | 847 | DEFUN ("make-thread", Fmake_thread, Smake_thread, 1, 2, 0, |
| @@ -868,6 +871,8 @@ If NAME is given, it must be a string; it names the new thread. */) | |||
| 868 | new_thread->m_specpdl_end = new_thread->m_specpdl + size; | 871 | new_thread->m_specpdl_end = new_thread->m_specpdl + size; |
| 869 | new_thread->m_specpdl_ptr = new_thread->m_specpdl; | 872 | new_thread->m_specpdl_ptr = new_thread->m_specpdl; |
| 870 | 873 | ||
| 874 | init_bc_thread (&new_thread->bc); | ||
| 875 | |||
| 871 | sys_cond_init (&new_thread->thread_condvar); | 876 | sys_cond_init (&new_thread->thread_condvar); |
| 872 | 877 | ||
| 873 | /* We'll need locking here eventually. */ | 878 | /* We'll need locking here eventually. */ |
| @@ -1127,6 +1132,7 @@ init_threads (void) | |||
| 1127 | sys_mutex_lock (&global_lock); | 1132 | sys_mutex_lock (&global_lock); |
| 1128 | current_thread = &main_thread.s; | 1133 | current_thread = &main_thread.s; |
| 1129 | main_thread.s.thread_id = sys_thread_self (); | 1134 | main_thread.s.thread_id = sys_thread_self (); |
| 1135 | init_bc_thread (&main_thread.s.bc); | ||
| 1130 | } | 1136 | } |
| 1131 | 1137 | ||
| 1132 | void | 1138 | void |