aboutsummaryrefslogtreecommitdiff
path: root/src/input_common/drivers/joycon.cpp
diff options
context:
space:
mode:
authorMorph <39850852+Morph1984@users.noreply.github.com>2023-01-25 16:03:54 -0500
committerMorph <39850852+Morph1984@users.noreply.github.com>2023-01-25 16:43:04 -0500
commitc55147b24a2752bd86aa559d2397a9dc54feb582 (patch)
treeaeaa61a8c46d94629432d1dfc60de9fb8e7459de /src/input_common/drivers/joycon.cpp
parent9b0563fa878c6afa73e00a967bc24259ec72ef35 (diff)
input_common: Make use of StoppableTimedWait
Diffstat (limited to 'src/input_common/drivers/joycon.cpp')
-rw-r--r--src/input_common/drivers/joycon.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/input_common/drivers/joycon.cpp b/src/input_common/drivers/joycon.cpp
index 40cda400d8..cedc94e639 100644
--- a/src/input_common/drivers/joycon.cpp
+++ b/src/input_common/drivers/joycon.cpp
@@ -5,6 +5,7 @@
#include "common/param_package.h"
#include "common/polyfill_ranges.h"
+#include "common/polyfill_thread.h"
#include "common/settings.h"
#include "common/thread.h"
#include "input_common/drivers/joycon.h"
@@ -67,7 +68,8 @@ void Joycons::Setup() {
void Joycons::ScanThread(std::stop_token stop_token) {
constexpr u16 nintendo_vendor_id = 0x057e;
Common::SetCurrentThreadName("JoyconScanThread");
- while (!stop_token.stop_requested()) {
+
+ do {
SDL_hid_device_info* devs = SDL_hid_enumerate(nintendo_vendor_id, 0x0);
SDL_hid_device_info* cur_dev = devs;
@@ -81,8 +83,7 @@ void Joycons::ScanThread(std::stop_token stop_token) {
}
SDL_hid_free_enumeration(devs);
- std::this_thread::sleep_for(std::chrono::seconds(5));
- }
+ } while (Common::StoppableTimedWait(stop_token, std::chrono::seconds{5}));
}
bool Joycons::IsDeviceNew(SDL_hid_device_info* device_info) const {