void remove_thread (struct thread_info *thread) { if (thread->btrace != NULL) target_disable_btrace (thread->btrace); remove_inferior (&all_threads, (struct inferior_list_entry *) thread); free_one_thread (&thread->entry); }
void remove_thread (struct thread_info *thread) { if (thread->btrace != NULL) target_disable_btrace (thread->btrace); discard_queued_stop_replies (ptid_of (thread)); remove_inferior (&all_threads, (struct inferior_list_entry *) thread); free_one_thread (&thread->entry); }
void remove_thread (struct thread_info *thread) { if (thread->btrace != NULL) target_disable_btrace (thread->btrace); discard_queued_stop_replies (ptid_of (thread)); all_threads.remove (thread); free_one_thread (thread); if (current_thread == thread) current_thread = NULL; }
void btrace_disable (struct thread_info *tp) { struct btrace_thread_info *btp = &tp->btrace; int errcode = 0; if (btp->target == NULL) return; DEBUG ("disable thread %d (%s)", tp->num, target_pid_to_str (tp->ptid)); target_disable_btrace (btp->target); btp->target = NULL; btrace_clear (tp); }