zturner added a comment. It turns out the function this called, `DispatchInputInterrupt`, already acquires a mutex. Maybe put the synchronization in there? Then you don't have to reproduce the synchronization in both MI and LLDB https://reviews.llvm.org/D37926