diff options
author | emaste <emaste@FreeBSD.org> | 2013-12-03 21:29:45 +0000 |
---|---|---|
committer | emaste <emaste@FreeBSD.org> | 2013-12-03 21:29:45 +0000 |
commit | c2332a8992b450e5a8924871478086bfaa393af8 (patch) | |
tree | 4fa61b263dd9025e4bb0e207c4b121aa3f020405 /contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp | |
parent | f89bf72d3c2e9de867cf064667a5d3f89f0b7de0 (diff) | |
download | FreeBSD-src-c2332a8992b450e5a8924871478086bfaa393af8.zip FreeBSD-src-c2332a8992b450e5a8924871478086bfaa393af8.tar.gz |
lldb: Threaded inferior support for FreeBSD
This is in the process of being submitted to the upstream LLDB
repository. The thread list functionality is modelled in part on
GDBRemoteCommunicationClient.
LLDB bug pr16696 and code review D2267
Sponsored by: DARPA, AFRL
Diffstat (limited to 'contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp')
-rw-r--r-- | contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp | 39 |
1 files changed, 2 insertions, 37 deletions
diff --git a/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp b/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp index 1639974..e1dda42 100644 --- a/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp +++ b/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp @@ -83,6 +83,7 @@ POSIXThread::GetMonitor() return process.GetMonitor(); } +// Overridden by FreeBSDThread; this is used only on Linux. void POSIXThread::RefreshStateAfterStop() { @@ -257,6 +258,7 @@ POSIXThread::GetUnwinder() return m_unwinder_ap.get(); } +// Overridden by FreeBSDThread; this is used only on Linux. void POSIXThread::WillResume(lldb::StateType resume_state) { @@ -274,43 +276,6 @@ POSIXThread::DidStop() // Don't set the thread state to stopped unless we really stopped. } -bool -POSIXThread::Resume() -{ - lldb::StateType resume_state = GetResumeState(); - ProcessMonitor &monitor = GetMonitor(); - bool status; - - Log *log (ProcessPOSIXLog::GetLogIfAllCategoriesSet (POSIX_LOG_THREAD)); - if (log) - log->Printf ("POSIXThread::%s (), resume_state = %s", __FUNCTION__, - StateAsCString(resume_state)); - - switch (resume_state) - { - default: - assert(false && "Unexpected state for resume!"); - status = false; - break; - - case lldb::eStateRunning: - SetState(resume_state); - status = monitor.Resume(GetID(), GetResumeSignal()); - break; - - case lldb::eStateStepping: - SetState(resume_state); - status = monitor.SingleStep(GetID(), GetResumeSignal()); - break; - case lldb::eStateStopped: - case lldb::eStateSuspended: - status = true; - break; - } - - return status; -} - void POSIXThread::Notify(const ProcessMessage &message) { |