================ @@ -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) ---------------- labath wrote:
The reason I want to do it in the driver is because it's more flexible (and it matches status quo). As a library, you can't really know whether a SIGWINCH was "meant" for you, or if you're embedded in some larger terminal application. So, to do it the right way, it would have to be somehow configurable, and I'd like to avoid getting into the business of providing a general signal catching API. https://github.com/llvm/llvm-project/pull/134759 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits