summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/GCAdapter_Android.cpp
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2022-04-23 22:04:10 +0200
committerGitHub <noreply@github.com>2022-04-23 22:04:10 +0200
commite0afcb3b94402f5b2b5a17c4e6275ffe20b5fca0 (patch)
tree2da4212a548ac8c44b592092fbe748eb350d23c2 /Source/Core/InputCommon/GCAdapter_Android.cpp
parentcb5e967fd4dce951dfa6cdcfa49638d0ef3fd05e (diff)
parentb5a7ae52b56abd1b3aaa37786debcd95cc4e6057 (diff)
Merge pull request #10540 from nyanpasu64/fix-gcadapter-atomics
Remove atomic usage and fix mutex locking in GCAdapter code
Diffstat (limited to 'Source/Core/InputCommon/GCAdapter_Android.cpp')
-rw-r--r--Source/Core/InputCommon/GCAdapter_Android.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/Source/Core/InputCommon/GCAdapter_Android.cpp b/Source/Core/InputCommon/GCAdapter_Android.cpp
index 1e58733236..499a9ece30 100644
--- a/Source/Core/InputCommon/GCAdapter_Android.cpp
+++ b/Source/Core/InputCommon/GCAdapter_Android.cpp
@@ -41,7 +41,7 @@ static u8 s_controller_rumble[4];
// Input handling
static std::mutex s_read_mutex;
static std::array<u8, 37> s_controller_payload;
-static std::atomic<int> s_controller_payload_size{0};
+static int s_controller_payload_size{0};
// Output handling
static std::mutex s_write_mutex;
@@ -164,7 +164,7 @@ static void Read()
{
std::lock_guard<std::mutex> lk(s_read_mutex);
std::copy(java_data, java_data + s_controller_payload.size(), s_controller_payload.begin());
- s_controller_payload_size.store(read_size);
+ s_controller_payload_size = read_size;
}
env->ReleaseByteArrayElements(*java_controller_payload, java_data, 0);
@@ -284,7 +284,7 @@ GCPadStatus Input(int chan)
{
std::lock_guard<std::mutex> lk(s_read_mutex);
controller_payload_copy = s_controller_payload;
- payload_size = s_controller_payload_size.load();
+ payload_size = s_controller_payload_size;
}
GCPadStatus pad = {};
@@ -406,7 +406,7 @@ void ResetRumble()
{
unsigned char rumble[5] = {0x11, 0, 0, 0, 0};
{
- std::lock_guard<std::mutex> lk(s_read_mutex);
+ std::lock_guard<std::mutex> lk(s_write_mutex);
memcpy(s_controller_write_payload, rumble, 5);
s_controller_write_payload_size.store(5);
}