llvm-project
83116209 - [lldb] Fix lock inversion between statusline mutex and output mutex (#135956)

Commit
144 days ago
[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
Author
Parents
Loading