[all-commits] [llvm/llvm-project] 831162: [lldb] Fix lock inversion between statusline mutex...
Jonas Devlieghere via All-commits
all-commits at lists.llvm.org
Thu Apr 17 08:57:21 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 83116209331ad6a5a45f1b8735ad5bce9e6ef761
https://github.com/llvm/llvm-project/commit/83116209331ad6a5a45f1b8735ad5bce9e6ef761
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M lldb/source/Host/common/Editline.cpp
M lldb/test/API/functionalities/statusline/TestStatusline.py
Log Message:
-----------
[lldb] Fix lock inversion between statusline mutex and output mutex (#135956)
Fix a deadlock between the statusline mutex (in Debugger) and the output
file mutex (in LockedStreamFile). The deadlock occurs when the main
thread is calling the statusline callback while holding the output mutex
in Editline, while the default event thread is trying to update the
statusline.
Extend the uncritical section so we can redraw the statusline there.
The loop in Editline::GetCharacter should be unnecessary. It would only
loop if we had a successful read with length zero, which shouldn't be
possible or when we can't convert a partial UTF-8 character, in which
case we bail out.
rdar://149251156
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list