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). --- Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp') diff --git a/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp b/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp index cf811e5b41..6e9764fda9 100644 --- a/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp +++ b/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp @@ -674,7 +674,7 @@ void InputBackend::RemoveDevnodeObject(const std::string& node) m_devnode_objects.erase(node); } -void evdevDevice::UpdateInput() +Core::DeviceRemoval evdevDevice::UpdateInput() { // Run through all evdev events // libevdev will keep track of the actual controller state internally which can be queried @@ -691,6 +691,7 @@ void evdevDevice::UpdateInput() rc = libevdev_next_event(node.device, LIBEVDEV_READ_FLAG_NORMAL, &ev); } } + return Core::DeviceRemoval::Keep; } bool evdevDevice::IsValid() const -- cgit v1.2.3