Skip to content
Permalink
Browse files
Merge pull request #11040 from AdmiralCurtiss/update-references-deadlock
InputCommon: Fix deadlock in EmulatedController::UpdateReferences().
  • Loading branch information
lioncash committed Sep 8, 2022
2 parents d84367e + b8ca1b2 commit 348db11
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 1 deletion.
@@ -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);

@@ -238,6 +238,8 @@ class DeviceContainer
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;

0 comments on commit 348db11

Please sign in to comment.