6657d2c3e5
## Summary of the Pull Request The deadlock was caused by `ScreenInfoUiaProviderBase::GetSelection()` calling `TermControlUiaProvider::GetSelectionRange` (both of which attempted to lock the console). This PR removes the lock and initialization check from `TermControlUiaProvider`. It is no longer necessary because the only one that calls it is `SIUPB::GetSelection()`. Additionally, this adds some code that was useful in debugging this race condition. That should help us figure out any locking issues that may come up in the future. ## References #11312 Closes #11385 ## Validation Steps Performed ✅ Repro steps don't cause hang |
||
---|---|---|
.. | ||
lib | ||
ControlKeyStates.hpp | ||
ICoreAppearance.idl | ||
ICoreSettings.idl | ||
ITerminalApi.hpp | ||
ITerminalInput.hpp | ||
packages.config | ||
pch.cpp | ||
pch.h | ||
Terminal.cpp | ||
Terminal.hpp | ||
TerminalApi.cpp | ||
terminalcore-common.vcxitems | ||
TerminalDispatch.cpp | ||
TerminalDispatch.hpp | ||
TerminalDispatchGraphics.cpp | ||
terminalrenderdata.cpp | ||
TerminalSelection.cpp |