summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
diff options
context:
space:
mode:
authorRyan Brown <ribrdb@google.com>2015-09-16 21:20:44 +0000
committerRyan Brown <ribrdb@google.com>2015-09-16 21:20:44 +0000
commit65d4d5c3c6d742855f572d1306af93fabe015b0a (patch)
treef6a840baed06cdc87a15c0610b45fcad359fbe10 /lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
parent8be1847b09e358cacfb6219e8b0cdeaf77f1b9fe (diff)
downloadbcm5719-llvm-65d4d5c3c6d742855f572d1306af93fabe015b0a.tar.gz
bcm5719-llvm-65d4d5c3c6d742855f572d1306af93fabe015b0a.zip
Add an OperatingSystem plugin to support goroutines
The Go runtime schedules user level threads (goroutines) across real threads. This adds an OS plugin to create memory threads for goroutines. It supports the 1.4 and 1.5 go runtime. Differential Revision: http://reviews.llvm.org/D5871 llvm-svn: 247852
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp')
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
index 2d5b76c3a9d..09947738321 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -2044,6 +2044,10 @@ ProcessGDBRemote::SetThreadStopInfo (lldb::tid_t tid,
if (!thread_sp->StopInfoIsUpToDate())
{
thread_sp->SetStopInfo (StopInfoSP());
+ // If there's a memory thread backed by this thread, we need to use it to calcualte StopInfo.
+ ThreadSP memory_thread_sp = m_thread_list.FindThreadByProtocolID(thread_sp->GetProtocolID());
+ if (memory_thread_sp)
+ thread_sp = memory_thread_sp;
if (exc_type != 0)
{
OpenPOWER on IntegriCloud