aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>2014-04-25 00:01:15 +0000
committerJason Molenda <jmolenda@apple.com>2014-04-25 00:01:15 +0000
commitb9ffa98cab65ecb1e66a194bb9641735ef8e7eb2 (patch)
tree7b08a842255de003f00d2be36defedfa72537ef1 /lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp
parent5ad11841f7fe4ae35165e34fb5574f2e4e8499ed (diff)
downloadllvm-b9ffa98cab65ecb1e66a194bb9641735ef8e7eb2.zip
llvm-b9ffa98cab65ecb1e66a194bb9641735ef8e7eb2.tar.gz
llvm-b9ffa98cab65ecb1e66a194bb9641735ef8e7eb2.tar.bz2
Add a new SBThread::GetQueue() method to get the queue that is
currently associated with a given thread, on relevant targets. Change the queue detection code to verify that the queues associated with all live threads are included in the list. <rdar://problem/16411314> llvm-svn: 207160
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp')
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp
index 395f8c6..79893cf 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp
@@ -107,6 +107,22 @@ ThreadGDBRemote::GetQueueID ()
return LLDB_INVALID_QUEUE_ID;
}
+QueueSP
+ThreadGDBRemote::GetQueue ()
+{
+ queue_id_t queue_id = GetQueueID();
+ QueueSP queue;
+ if (queue_id != LLDB_INVALID_QUEUE_ID)
+ {
+ ProcessSP process_sp (GetProcess());
+ if (process_sp)
+ {
+ queue = process_sp->GetQueueList().FindQueueByID (queue_id);
+ }
+ }
+ return queue;
+}
+
addr_t
ThreadGDBRemote::GetQueueLibdispatchQueueAddress ()
{