diff options
author | Adrian McCarthy <amccarth@google.com> | 2017-09-13 22:57:11 +0000 |
---|---|---|
committer | Adrian McCarthy <amccarth@google.com> | 2017-09-13 22:57:11 +0000 |
commit | 5fc4fa54db8b736607f2fdb6939c7ede14486af5 (patch) | |
tree | 633498434613a0b423f2f65128038409649e3182 /lldb/source/Commands/CommandObjectThread.cpp | |
parent | c113801489ddc71d6b4011bd411c68d5b58f265c (diff) | |
download | bcm5719-llvm-5fc4fa54db8b736607f2fdb6939c7ede14486af5.tar.gz bcm5719-llvm-5fc4fa54db8b736607f2fdb6939c7ede14486af5.zip |
Fix for bug 34532 - A few rough corners related to post-mortem debugging (core/minidump)
The main change is to avoid setting the process state as running when
debugging core/minidumps (details in the bug).
Also included a few small, related fixes around how the errors propagate in
this case.
patch by lemo
Bug: https://bugs.llvm.org/show_bug.cgi?id=34532
Differential Revision: https://reviews.llvm.org/D37651
llvm-svn: 313210
Diffstat (limited to 'lldb/source/Commands/CommandObjectThread.cpp')
-rw-r--r-- | lldb/source/Commands/CommandObjectThread.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lldb/source/Commands/CommandObjectThread.cpp b/lldb/source/Commands/CommandObjectThread.cpp index 6a933df43e1..b68aa920b58 100644 --- a/lldb/source/Commands/CommandObjectThread.cpp +++ b/lldb/source/Commands/CommandObjectThread.cpp @@ -94,7 +94,7 @@ public: bool all_threads = false; if (command.GetArgumentCount() == 0) { Thread *thread = m_exe_ctx.GetThreadPtr(); - if (!HandleOneThread(thread->GetID(), result)) + if (!thread || !HandleOneThread(thread->GetID(), result)) return false; return result.Succeeded(); } else if (command.GetArgumentCount() == 1) { @@ -775,6 +775,12 @@ protected: else error = process->Resume(); + if (!error.Success()) { + result.AppendMessage(error.AsCString()); + result.SetStatus(eReturnStatusFailed); + return false; + } + // There is a race condition where this thread will return up the call // stack to the main command handler // and show an (lldb) prompt before HandlePrivateEvent (from |