[Lldb-commits] [lldb] [lldb] Synchronize access to m_statusline in the Debugger (PR #134759)

Alex Langford via lldb-commits lldb-commits at lists.llvm.org
Mon Apr 7 18:49:12 PDT 2025


================
@@ -391,8 +392,13 @@ bool Debugger::SetTerminalWidth(uint64_t term_width) {
 
   if (auto handler_sp = m_io_handler_stack.Top())
     handler_sp->TerminalSizeChanged();
-  if (m_statusline)
-    m_statusline->TerminalSizeChanged();
+
+  {
+    // This might get called from a signal handler.
+    std::unique_lock<std::mutex> lock(m_statusline_mutex, std::try_to_lock);
+    if (m_statusline)
----------------
bulbazord wrote:

I do recognize that this does protect other threads from touching `m_statusline` some of the time, but it seems like this can't protect you from every race?

https://github.com/llvm/llvm-project/pull/134759


More information about the lldb-commits mailing list