InputCommon: Fix deadlock in EmulatedController::UpdateReferences().

This commit is contained in:
Admiral H. Curtiss 2022-09-07 22:37:14 +02:00
parent 48c9c224cf
commit b8ca1b2907
No known key found for this signature in database
GPG key ID: F051B4C4044F33FB
2 changed files with 3 additions and 1 deletions

View file

@ -40,7 +40,7 @@ std::unique_lock<std::recursive_mutex> EmulatedController::GetStateLock()
void EmulatedController::UpdateReferences(const ControllerInterface& devi)
{
const auto lock = GetStateLock();
std::scoped_lock lk(s_get_state_mutex, devi.GetDevicesMutex());
m_default_device_is_connected = devi.HasConnectedDevice(m_default_device);

View file

@ -238,6 +238,8 @@ public:
std::chrono::milliseconds confirmation_wait,
std::chrono::milliseconds maximum_wait) const;
std::recursive_mutex& GetDevicesMutex() const { return m_devices_mutex; }
protected:
// Exclusively needed when reading/writing "m_devices"
mutable std::recursive_mutex m_devices_mutex;