summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetQueuesHandler.cpp
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2016-03-21 19:21:13 +0000
committerJim Ingham <jingham@apple.com>2016-03-21 19:21:13 +0000
commit6896b355854576eb2902a04b2dcb52b7f9b74f7e (patch)
tree5176b1ce964f471af37d8d881e208682e2371477 /lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetQueuesHandler.cpp
parentcdaf644c48d9f4deceb3afe6ee94a122fd3fc188 (diff)
downloadbcm5719-llvm-6896b355854576eb2902a04b2dcb52b7f9b74f7e.tar.gz
bcm5719-llvm-6896b355854576eb2902a04b2dcb52b7f9b74f7e.zip
Compilation can end up calling functions (e.g. to resolve indirect functions) so I added
a way for compilation to take a "thread to use for compilation". If it isn't set then the compilation will use the currently selected thread. This should help keep function execution to the one thread intended. llvm-svn: 263972
Diffstat (limited to 'lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetQueuesHandler.cpp')
-rw-r--r--lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetQueuesHandler.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetQueuesHandler.cpp b/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetQueuesHandler.cpp
index e005d500e0c..e1f045124ee 100644
--- a/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetQueuesHandler.cpp
+++ b/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetQueuesHandler.cpp
@@ -147,7 +147,9 @@ AppleGetQueuesHandler::Detach ()
lldb::addr_t
AppleGetQueuesHandler::SetupGetQueuesFunction (Thread &thread, ValueList &get_queues_arglist)
{
- ExecutionContext exe_ctx(thread.shared_from_this());
+ ThreadSP thread_sp(thread.shared_from_this());
+ ExecutionContext exe_ctx (thread_sp);
+
Address impl_code_address;
DiagnosticManager diagnostics;
Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_SYSTEM_RUNTIME));
@@ -205,6 +207,7 @@ AppleGetQueuesHandler::SetupGetQueuesFunction (Thread &thread, ValueList &get_qu
Error error;
get_queues_caller = m_get_queues_impl_code_up->MakeFunctionCaller (get_queues_return_type,
get_queues_arglist,
+ thread_sp,
error);
if (error.Fail())
{
OpenPOWER on IntegriCloud