<rdar://problem/12586010>
Python OS plug-ins now fetch thread registers lazily. Also changed SBCommandInterpreter::HandleCommand() to not take the API lock. The logic here is that from the command line you can execute a command that might result in another thread (like the private process thread) to execute python or run any code that can re-enter the public API. When this happens, a deadlock immediately occurs for things like "process launch" and "process attach". llvm-svn: 171901
This commit is contained in:
@@ -135,7 +135,10 @@ ThreadMemory::GetPrivateStopReason ()
|
||||
void
|
||||
ThreadMemory::RefreshStateAfterStop()
|
||||
{
|
||||
RegisterContextSP reg_ctx_sp(GetRegisterContext());
|
||||
// Don't fetch the registers by calling Thread::GetRegisterContext() below.
|
||||
// We might not have fetched any registers yet and we don't want to fetch
|
||||
// the registers just to call invalidate on them...
|
||||
RegisterContextSP reg_ctx_sp(m_reg_context_sp);
|
||||
if (reg_ctx_sp)
|
||||
{
|
||||
const bool force = true;
|
||||
|
||||
Reference in New Issue
Block a user