[llvm-branch-commits] [lldb] 19d7614 - Revert "Revert "[lldb] Make sure the process is stopped when computing the sy…"

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Fri Apr 11 16:56:55 PDT 2025


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())


        


More information about the llvm-branch-commits mailing list