Author: Jonas Devlieghere Date: 2025-04-11T16:56:53-07:00 New Revision: 19d761478bdad5615e3f3c7f4a1b71c1c698725b
URL: https://github.com/llvm/llvm-project/commit/19d761478bdad5615e3f3c7f4a1b71c1c698725b DIFF: https://github.com/llvm/llvm-project/commit/19d761478bdad5615e3f3c7f4a1b71c1c698725b.diff LOG: Revert "Revert "[lldb] Make sure the process is stopped when computing the sy…" This reverts commit 179d30f8c3fddd3c85056fd2b8e877a4a8513158. Added: Modified: lldb/source/Core/Statusline.cpp Removed: ################################################################################ diff --git a/lldb/source/Core/Statusline.cpp b/lldb/source/Core/Statusline.cpp index ed5308ef53eb0..e14691e2538a2 100644 --- a/lldb/source/Core/Statusline.cpp +++ b/lldb/source/Core/Statusline.cpp @@ -12,6 +12,7 @@ #include "lldb/Host/StreamFile.h" #include "lldb/Interpreter/CommandInterpreter.h" #include "lldb/Symbol/SymbolContext.h" +#include "lldb/Target/Process.h" #include "lldb/Target/StackFrame.h" #include "lldb/Utility/AnsiTerminal.h" #include "lldb/Utility/StreamString.h" @@ -134,8 +135,15 @@ void Statusline::Redraw(bool update) { exe_ctx.SetTargetPtr(&m_debugger.GetSelectedOrDummyTarget()); SymbolContext symbol_ctx; - if (auto frame_sp = exe_ctx.GetFrameSP()) - symbol_ctx = frame_sp->GetSymbolContext(eSymbolContextEverything); + if (ProcessSP process_sp = exe_ctx.GetProcessSP()) { + // Check if the process is stopped, and if it is, make sure it remains + // stopped until we've computed the symbol context. + Process::StopLocker stop_locker; + if (stop_locker.TryLock(&process_sp->GetRunLock())) { + if (auto frame_sp = exe_ctx.GetFrameSP()) + symbol_ctx = frame_sp->GetSymbolContext(eSymbolContextEverything); + } + } StreamString stream; if (auto *format = m_debugger.GetStatuslineFormat()) _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits