summaryrefslogtreecommitdiffstats
path: root/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2016-01-13 20:06:56 +0000
committerdim <dim@FreeBSD.org>2016-01-13 20:06:56 +0000
commit8553c19974a5ab5f815b9e64f7bfe9899924726b (patch)
tree2b6dc7dcb4a6380cb331aded15f5a81c0038e194 /source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
parent78b9749c0a4ea980a8b934645da6ae98fcc665e8 (diff)
downloadFreeBSD-src-8553c19974a5ab5f815b9e64f7bfe9899924726b.zip
FreeBSD-src-8553c19974a5ab5f815b9e64f7bfe9899924726b.tar.gz
Vendor import of lldb trunk r257626:
https://llvm.org/svn/llvm-project/lldb/trunk@257626
Diffstat (limited to 'source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp')
-rw-r--r--source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp24
1 files changed, 18 insertions, 6 deletions
diff --git a/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp b/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
index b11a067..1097ef3 100644
--- a/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
+++ b/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
@@ -725,14 +725,26 @@ SystemRuntimeMacOSX::PopulateQueueList (lldb_private::QueueList &queue_list)
for (ThreadSP thread_sp : m_process->Threads())
{
- if (thread_sp->GetQueueID() != LLDB_INVALID_QUEUE_ID)
+ if (thread_sp->GetAssociatedWithLibdispatchQueue () != eLazyBoolNo)
{
- if (queue_list.FindQueueByID (thread_sp->GetQueueID()).get() == NULL)
+ if (thread_sp->GetQueueID() != LLDB_INVALID_QUEUE_ID)
{
- QueueSP queue_sp (new Queue(m_process->shared_from_this(), thread_sp->GetQueueID(), thread_sp->GetQueueName()));
- queue_sp->SetKind (GetQueueKind (thread_sp->GetQueueLibdispatchQueueAddress()));
- queue_sp->SetLibdispatchQueueAddress (thread_sp->GetQueueLibdispatchQueueAddress());
- queue_list.AddQueue (queue_sp);
+ if (queue_list.FindQueueByID (thread_sp->GetQueueID()).get() == NULL)
+ {
+ QueueSP queue_sp (new Queue(m_process->shared_from_this(), thread_sp->GetQueueID(), thread_sp->GetQueueName()));
+ if (thread_sp->ThreadHasQueueInformation ())
+ {
+ queue_sp->SetKind (thread_sp->GetQueueKind ());
+ queue_sp->SetLibdispatchQueueAddress (thread_sp->GetQueueLibdispatchQueueAddress());
+ queue_list.AddQueue (queue_sp);
+ }
+ else
+ {
+ queue_sp->SetKind (GetQueueKind (thread_sp->GetQueueLibdispatchQueueAddress()));
+ queue_sp->SetLibdispatchQueueAddress (thread_sp->GetQueueLibdispatchQueueAddress());
+ queue_list.AddQueue (queue_sp);
+ }
+ }
}
}
}
OpenPOWER on IntegriCloud