Lines Matching refs:thread

327     NativeThreadLinux &thread = AddThread(tid, /*resume*/ false);  in NativeProcessLinux()  local
328 ThreadWasCreated(thread); in NativeProcessLinux()
431 void NativeProcessLinux::MonitorCallback(NativeThreadLinux &thread, in MonitorCallback() argument
437 const bool is_main_thread = (thread.GetID() == GetID()); in MonitorCallback()
444 status, thread.GetID(), is_main_thread ? "is" : "is not", in MonitorCallback()
448 StopTrackingThread(thread); in MonitorCallback()
455 const auto info_err = GetSignalInfo(thread.GetID(), &info); in MonitorCallback()
461 MonitorSIGTRAP(info, thread); in MonitorCallback()
463 MonitorSignal(info, thread); in MonitorCallback()
479 GetID(), thread.GetID()); in MonitorCallback()
480 ResumeThread(thread, thread.GetState(), LLDB_INVALID_SIGNAL_NUMBER); in MonitorCallback()
493 thread.GetID(), info_err, status, is_main_thread); in MonitorCallback()
520 NativeThreadLinux &thread) { in MonitorSIGTRAP() argument
522 const bool is_main_thread = (thread.GetID() == GetID()); in MonitorSIGTRAP()
536 if (GetEventMessage(thread.GetID(), &event_message).Fail()) { in MonitorSIGTRAP()
540 thread.GetID()); in MonitorSIGTRAP()
541 ResumeThread(thread, thread.GetState(), LLDB_INVALID_SIGNAL_NUMBER); in MonitorSIGTRAP()
543 MonitorClone(thread, event_message, info.si_code >> 8); in MonitorSIGTRAP()
587 if (GetEventMessage(thread.GetID(), &data).Fail()) in MonitorSIGTRAP()
593 data, WIFEXITED(data), WIFSIGNALED(data), thread.GetID(), in MonitorSIGTRAP()
597 StateType state = thread.GetState(); in MonitorSIGTRAP()
606 ResumeThread(thread, state, LLDB_INVALID_SIGNAL_NUMBER); in MonitorSIGTRAP()
612 StopTrackingThread(thread); in MonitorSIGTRAP()
620 thread.SetStoppedByVForkDone(); in MonitorSIGTRAP()
621 StopRunningThreads(thread.GetID()); in MonitorSIGTRAP()
624 ResumeThread(thread, thread.GetState(), LLDB_INVALID_SIGNAL_NUMBER); in MonitorSIGTRAP()
634 Status error = thread.GetRegisterContext().GetWatchpointHitIndex( in MonitorSIGTRAP()
640 thread.GetID(), error); in MonitorSIGTRAP()
642 MonitorWatchpoint(thread, wp_index); in MonitorSIGTRAP()
648 error = thread.GetRegisterContext().GetHardwareBreakHitIndex( in MonitorSIGTRAP()
653 thread.GetID(), error); in MonitorSIGTRAP()
655 MonitorBreakpoint(thread); in MonitorSIGTRAP()
660 MonitorTrace(thread); in MonitorSIGTRAP()
671 Status error = thread.GetRegisterContext().GetWatchpointHitIndex( in MonitorSIGTRAP()
677 thread.GetID(), error); in MonitorSIGTRAP()
679 MonitorWatchpoint(thread, wp_index); in MonitorSIGTRAP()
686 MonitorBreakpoint(thread); in MonitorSIGTRAP()
694 info.si_code, GetID(), thread.GetID()); in MonitorSIGTRAP()
697 ResumeThread(thread, thread.GetState(), LLDB_INVALID_SIGNAL_NUMBER); in MonitorSIGTRAP()
702 info.si_code, GetID(), thread.GetID()); in MonitorSIGTRAP()
703 MonitorSignal(info, thread); in MonitorSIGTRAP()
708 void NativeProcessLinux::MonitorTrace(NativeThreadLinux &thread) { in MonitorTrace() argument
710 LLDB_LOG(log, "received trace event, pid = {0}", thread.GetID()); in MonitorTrace()
713 thread.SetStoppedByTrace(); in MonitorTrace()
715 StopRunningThreads(thread.GetID()); in MonitorTrace()
718 void NativeProcessLinux::MonitorBreakpoint(NativeThreadLinux &thread) { in MonitorBreakpoint() argument
720 LLDB_LOG(log, "received breakpoint event, pid = {0}", thread.GetID()); in MonitorBreakpoint()
723 thread.SetStoppedByBreakpoint(); in MonitorBreakpoint()
724 FixupBreakpointPCAsNeeded(thread); in MonitorBreakpoint()
726 if (m_threads_stepping_with_breakpoint.find(thread.GetID()) != in MonitorBreakpoint()
728 thread.SetStoppedByTrace(); in MonitorBreakpoint()
730 StopRunningThreads(thread.GetID()); in MonitorBreakpoint()
733 void NativeProcessLinux::MonitorWatchpoint(NativeThreadLinux &thread, in MonitorWatchpoint() argument
737 thread.GetID(), wp_index); in MonitorWatchpoint()
741 thread.SetStoppedByWatchpoint(wp_index); in MonitorWatchpoint()
745 StopRunningThreads(thread.GetID()); in MonitorWatchpoint()
749 NativeThreadLinux &thread) { in MonitorSignal() argument
769 thread.GetID()); in MonitorSignal()
774 LLDB_LOG(log, "pid {0} tid {1}, thread stopped", GetID(), thread.GetID()); in MonitorSignal()
783 const StateType thread_state = thread.GetState(); in MonitorSignal()
793 if (m_pending_notification_tid == thread.GetID()) in MonitorSignal()
794 thread.SetStoppedBySignal(SIGSTOP, &info); in MonitorSignal()
796 thread.SetStoppedWithNoReason(); in MonitorSignal()
798 SetCurrentThreadID(thread.GetID()); in MonitorSignal()
803 Status error = ResumeThread(thread, thread.GetState(), 0); in MonitorSignal()
805 LLDB_LOG(log, "failed to resume thread {0}: {1}", thread.GetID(), in MonitorSignal()
812 GetID(), thread.GetID(), thread_state); in MonitorSignal()
823 ResumeThread(thread, thread.GetState(), signo); in MonitorSignal()
829 thread.SetStoppedBySignal(signo, &info); in MonitorSignal()
832 StopRunningThreads(thread.GetID()); in MonitorSignal()
906 for (const auto &thread : m_threads) { in Resume() local
907 assert(thread && "thread list should not contain NULL threads"); in Resume()
910 resume_actions.GetActionForThread(thread->GetID(), true); in Resume()
916 static_cast<NativeThreadLinux &>(*thread)); in Resume()
923 for (const auto &thread : m_threads) { in Resume() local
924 assert(thread && "thread list should not contain NULL threads"); in Resume()
927 resume_actions.GetActionForThread(thread->GetID(), true); in Resume()
931 thread->GetID()); in Resume()
936 action->state, GetID(), thread->GetID()); in Resume()
943 ResumeThread(static_cast<NativeThreadLinux &>(*thread), action->state, in Resume()
956 thread->GetID()); in Resume()
982 for (const auto &thread : m_threads) { in Detach() local
983 Status e = Detach(thread->GetID()); in Detach()
1016 for (const auto &thread : m_threads) { in Interrupt() local
1019 const auto thread_state = thread->GetState(); in Interrupt()
1021 running_thread = thread.get(); in Interrupt()
1026 stopped_thread = thread.get(); in Interrupt()
1239 NativeThreadLinux &thread = *GetCurrentThread(); in Syscall() local
1240 assert(thread.GetState() == eStateStopped); in Syscall()
1241 NativeRegisterContextLinux &reg_ctx = thread.GetRegisterContext(); in Syscall()
1285 PtraceWrapper(req, thread.GetID(), nullptr, nullptr).ToError()) in Syscall()
1289 ::pid_t wait_pid = llvm::sys::RetryAfterSignal(-1, ::waitpid, thread.GetID(), in Syscall()
1295 assert((unsigned)wait_pid == thread.GetID()); in Syscall()
1644 for (const auto &thread : m_threads) { in HasThreadNoLock() local
1645 assert(thread && "thread list should not contain NULL threads"); in HasThreadNoLock()
1646 if (thread->GetID() == thread_id) { in HasThreadNoLock()
1656 void NativeProcessLinux::StopTrackingThread(NativeThreadLinux &thread) { in StopTrackingThread() argument
1658 lldb::tid_t thread_id = thread.GetID(); in StopTrackingThread()
1662 return thread_up.get() == &thread; in StopTrackingThread()
1711 NativeThreadLinux &thread = in AddThread() local
1714 Status tracing_error = NotifyTracersOfNewThread(thread.GetID()); in AddThread()
1716 thread.SetStoppedByProcessorTrace(tracing_error.AsCString()); in AddThread()
1717 StopRunningThreads(thread.GetID()); in AddThread()
1719 ResumeThread(thread, eStateRunning, LLDB_INVALID_SIGNAL_NUMBER); in AddThread()
1721 thread.SetStoppedBySignal(SIGSTOP); in AddThread()
1723 return thread; in AddThread()
1773 Status NativeProcessLinux::ResumeThread(NativeThreadLinux &thread, in ResumeThread() argument
1776 LLDB_LOG(log, "tid: {0}", thread.GetID()); in ResumeThread()
1788 thread.GetID(), m_pending_notification_tid); in ResumeThread()
1795 const auto resume_result = thread.Resume(signo); in ResumeThread()
1801 const auto step_result = thread.SingleStep(signo); in ResumeThread()
1823 for (const auto &thread : m_threads) { in StopRunningThreads() local
1824 if (StateIsRunningState(thread->GetState())) in StopRunningThreads()
1825 static_cast<NativeThreadLinux *>(thread.get())->RequestStop(); in StopRunningThreads()
1860 void NativeProcessLinux::ThreadWasCreated(NativeThreadLinux &thread) { in ThreadWasCreated() argument
1862 LLDB_LOG(log, "tid: {0}", thread.GetID()); in ThreadWasCreated()
1865 StateIsRunningState(thread.GetState())) { in ThreadWasCreated()
1868 thread.RequestStop(); in ThreadWasCreated()
1927 NativeThreadLinux *thread = GetThreadByID(KV.first); in SigchldHandler() local
1928 assert(thread && "Why did this thread disappear?"); in SigchldHandler()
1929 MonitorCallback(*thread, KV.second); in SigchldHandler()