From e456bef163c1b667ff5a045a4bda66b30326ae90 Mon Sep 17 00:00:00 2001 From: Filoppi Date: Wed, 24 May 2023 22:58:30 +0300 Subject: Input: Improve Controller Interface devices threading This specific issue was already addressed by https://github.com/dolphin-emu/dolphin/pull/11635 though I felt like there was something more we could do, and wasn't too happy with the likelihood of devices update calls being skipped (due to `m_devices_population_mutex` being locked). --- .../ControllerInterface/DualShockUDPClient/DualShockUDPClient.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'Source/Core/InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPClient.cpp') diff --git a/Source/Core/InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPClient.cpp b/Source/Core/InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPClient.cpp index d3030a60fa..8a5abb16d9 100644 --- a/Source/Core/InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPClient.cpp +++ b/Source/Core/InputCommon/ControllerInterface/DualShockUDPClient/DualShockUDPClient.cpp @@ -128,7 +128,7 @@ private: }; public: - void UpdateInput() override; + Core::DeviceRemoval UpdateInput() override; Device(std::string name, int index, std::string server_address, u16 server_port, u32 client_uid); @@ -614,7 +614,7 @@ std::string Device::GetSource() const return std::string(DUALSHOCKUDP_SOURCE_NAME); } -void Device::UpdateInput() +Core::DeviceRemoval Device::UpdateInput() { // Regularly tell the UDP server to feed us controller data const auto now = SteadyClock::now(); @@ -660,6 +660,8 @@ void Device::UpdateInput() m_prev_touch_valid = true; } } + + return Core::DeviceRemoval::Keep; } std::optional Device::GetPreferredId() const -- cgit v1.2.3