summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Narr the Reg2022-04-07 13:52:51 -0500
committerGravatar Narr the Reg2022-04-07 13:52:51 -0500
commit9c85cb354a6c00f82278e6c39d4b474c49dd4c5a (patch)
tree4dfac6429ce3019c7c7a8d4f477f6ac8ec873915
parentcore: hid: Reduce the amount of dataraces (diff)
downloadyuzu-9c85cb354a6c00f82278e6c39d4b474c49dd4c5a.tar.gz
yuzu-9c85cb354a6c00f82278e6c39d4b474c49dd4c5a.tar.xz
yuzu-9c85cb354a6c00f82278e6c39d4b474c49dd4c5a.zip
core: hid: Replace lock_guard with scoped_lock
Diffstat (limited to '')
-rw-r--r--src/core/hid/emulated_console.cpp14
-rw-r--r--src/core/hid/emulated_controller.cpp52
-rw-r--r--src/core/hid/emulated_devices.cpp22
3 files changed, 44 insertions, 44 deletions
diff --git a/src/core/hid/emulated_console.cpp b/src/core/hid/emulated_console.cpp
index 639f61809..de565048b 100644
--- a/src/core/hid/emulated_console.cpp
+++ b/src/core/hid/emulated_console.cpp
@@ -197,27 +197,27 @@ void EmulatedConsole::SetTouch(const Common::Input::CallbackStatus& callback, st
197} 197}
198 198
199ConsoleMotionValues EmulatedConsole::GetMotionValues() const { 199ConsoleMotionValues EmulatedConsole::GetMotionValues() const {
200 std::lock_guard lock{mutex}; 200 std::scoped_lock lock{mutex};
201 return console.motion_values; 201 return console.motion_values;
202} 202}
203 203
204TouchValues EmulatedConsole::GetTouchValues() const { 204TouchValues EmulatedConsole::GetTouchValues() const {
205 std::lock_guard lock{mutex}; 205 std::scoped_lock lock{mutex};
206 return console.touch_values; 206 return console.touch_values;
207} 207}
208 208
209ConsoleMotion EmulatedConsole::GetMotion() const { 209ConsoleMotion EmulatedConsole::GetMotion() const {
210 std::lock_guard lock{mutex}; 210 std::scoped_lock lock{mutex};
211 return console.motion_state; 211 return console.motion_state;
212} 212}
213 213
214TouchFingerState EmulatedConsole::GetTouch() const { 214TouchFingerState EmulatedConsole::GetTouch() const {
215 std::lock_guard lock{mutex}; 215 std::scoped_lock lock{mutex};
216 return console.touch_state; 216 return console.touch_state;
217} 217}
218 218
219void EmulatedConsole::TriggerOnChange(ConsoleTriggerType type) { 219void EmulatedConsole::TriggerOnChange(ConsoleTriggerType type) {
220 std::lock_guard lock{callback_mutex}; 220 std::scoped_lock lock{callback_mutex};
221 for (const auto& poller_pair : callback_list) { 221 for (const auto& poller_pair : callback_list) {
222 const ConsoleUpdateCallback& poller = poller_pair.second; 222 const ConsoleUpdateCallback& poller = poller_pair.second;
223 if (poller.on_change) { 223 if (poller.on_change) {
@@ -227,13 +227,13 @@ void EmulatedConsole::TriggerOnChange(ConsoleTriggerType type) {
227} 227}
228 228
229int EmulatedConsole::SetCallback(ConsoleUpdateCallback update_callback) { 229int EmulatedConsole::SetCallback(ConsoleUpdateCallback update_callback) {
230 std::lock_guard lock{callback_mutex}; 230 std::scoped_lock lock{callback_mutex};
231 callback_list.insert_or_assign(last_callback_key, update_callback); 231 callback_list.insert_or_assign(last_callback_key, update_callback);
232 return last_callback_key++; 232 return last_callback_key++;
233} 233}
234 234
235void EmulatedConsole::DeleteCallback(int key) { 235void EmulatedConsole::DeleteCallback(int key) {
236 std::lock_guard lock{callback_mutex}; 236 std::scoped_lock lock{callback_mutex};
237 const auto& iterator = callback_list.find(key); 237 const auto& iterator = callback_list.find(key);
238 if (iterator == callback_list.end()) { 238 if (iterator == callback_list.end()) {
239 LOG_ERROR(Input, "Tried to delete non-existent callback {}", key); 239 LOG_ERROR(Input, "Tried to delete non-existent callback {}", key);
diff --git a/src/core/hid/emulated_controller.cpp b/src/core/hid/emulated_controller.cpp
index 4f3676ec3..d3b13dbbd 100644
--- a/src/core/hid/emulated_controller.cpp
+++ b/src/core/hid/emulated_controller.cpp
@@ -353,17 +353,17 @@ void EmulatedController::DisableConfiguration() {
353} 353}
354 354
355void EmulatedController::EnableSystemButtons() { 355void EmulatedController::EnableSystemButtons() {
356 std::lock_guard lock{mutex}; 356 std::scoped_lock lock{mutex};
357 system_buttons_enabled = true; 357 system_buttons_enabled = true;
358} 358}
359 359
360void EmulatedController::DisableSystemButtons() { 360void EmulatedController::DisableSystemButtons() {
361 std::lock_guard lock{mutex}; 361 std::scoped_lock lock{mutex};
362 system_buttons_enabled = false; 362 system_buttons_enabled = false;
363} 363}
364 364
365void EmulatedController::ResetSystemButtons() { 365void EmulatedController::ResetSystemButtons() {
366 std::lock_guard lock{mutex}; 366 std::scoped_lock lock{mutex};
367 controller.home_button_state.home.Assign(false); 367 controller.home_button_state.home.Assign(false);
368 controller.capture_button_state.capture.Assign(false); 368 controller.capture_button_state.capture.Assign(false);
369} 369}
@@ -946,7 +946,7 @@ void EmulatedController::SetSupportedNpadStyleTag(NpadStyleTag supported_styles)
946} 946}
947 947
948bool EmulatedController::IsControllerFullkey(bool use_temporary_value) const { 948bool EmulatedController::IsControllerFullkey(bool use_temporary_value) const {
949 std::lock_guard lock{mutex}; 949 std::scoped_lock lock{mutex};
950 const auto type = is_configuring && use_temporary_value ? tmp_npad_type : npad_type; 950 const auto type = is_configuring && use_temporary_value ? tmp_npad_type : npad_type;
951 switch (type) { 951 switch (type) {
952 case NpadStyleIndex::ProController: 952 case NpadStyleIndex::ProController:
@@ -962,7 +962,7 @@ bool EmulatedController::IsControllerFullkey(bool use_temporary_value) const {
962} 962}
963 963
964bool EmulatedController::IsControllerSupported(bool use_temporary_value) const { 964bool EmulatedController::IsControllerSupported(bool use_temporary_value) const {
965 std::lock_guard lock{mutex}; 965 std::scoped_lock lock{mutex};
966 const auto type = is_configuring && use_temporary_value ? tmp_npad_type : npad_type; 966 const auto type = is_configuring && use_temporary_value ? tmp_npad_type : npad_type;
967 switch (type) { 967 switch (type) {
968 case NpadStyleIndex::ProController: 968 case NpadStyleIndex::ProController:
@@ -1035,7 +1035,7 @@ void EmulatedController::Disconnect() {
1035} 1035}
1036 1036
1037bool EmulatedController::IsConnected(bool get_temporary_value) const { 1037bool EmulatedController::IsConnected(bool get_temporary_value) const {
1038 std::lock_guard lock{mutex}; 1038 std::scoped_lock lock{mutex};
1039 if (get_temporary_value && is_configuring) { 1039 if (get_temporary_value && is_configuring) {
1040 return tmp_is_connected; 1040 return tmp_is_connected;
1041 } 1041 }
@@ -1049,12 +1049,12 @@ bool EmulatedController::IsVibrationEnabled() const {
1049} 1049}
1050 1050
1051NpadIdType EmulatedController::GetNpadIdType() const { 1051NpadIdType EmulatedController::GetNpadIdType() const {
1052 std::lock_guard lock{mutex}; 1052 std::scoped_lock lock{mutex};
1053 return npad_id_type; 1053 return npad_id_type;
1054} 1054}
1055 1055
1056NpadStyleIndex EmulatedController::GetNpadStyleIndex(bool get_temporary_value) const { 1056NpadStyleIndex EmulatedController::GetNpadStyleIndex(bool get_temporary_value) const {
1057 std::lock_guard lock{mutex}; 1057 std::scoped_lock lock{mutex};
1058 if (get_temporary_value && is_configuring) { 1058 if (get_temporary_value && is_configuring) {
1059 return tmp_npad_type; 1059 return tmp_npad_type;
1060 } 1060 }
@@ -1111,37 +1111,37 @@ LedPattern EmulatedController::GetLedPattern() const {
1111} 1111}
1112 1112
1113ButtonValues EmulatedController::GetButtonsValues() const { 1113ButtonValues EmulatedController::GetButtonsValues() const {
1114 std::lock_guard lock{mutex}; 1114 std::scoped_lock lock{mutex};
1115 return controller.button_values; 1115 return controller.button_values;
1116} 1116}
1117 1117
1118SticksValues EmulatedController::GetSticksValues() const { 1118SticksValues EmulatedController::GetSticksValues() const {
1119 std::lock_guard lock{mutex}; 1119 std::scoped_lock lock{mutex};
1120 return controller.stick_values; 1120 return controller.stick_values;
1121} 1121}
1122 1122
1123TriggerValues EmulatedController::GetTriggersValues() const { 1123TriggerValues EmulatedController::GetTriggersValues() const {
1124 std::lock_guard lock{mutex}; 1124 std::scoped_lock lock{mutex};
1125 return controller.trigger_values; 1125 return controller.trigger_values;
1126} 1126}
1127 1127
1128ControllerMotionValues EmulatedController::GetMotionValues() const { 1128ControllerMotionValues EmulatedController::GetMotionValues() const {
1129 std::lock_guard lock{mutex}; 1129 std::scoped_lock lock{mutex};
1130 return controller.motion_values; 1130 return controller.motion_values;
1131} 1131}
1132 1132
1133ColorValues EmulatedController::GetColorsValues() const { 1133ColorValues EmulatedController::GetColorsValues() const {
1134 std::lock_guard lock{mutex}; 1134 std::scoped_lock lock{mutex};
1135 return controller.color_values; 1135 return controller.color_values;
1136} 1136}
1137 1137
1138BatteryValues EmulatedController::GetBatteryValues() const { 1138BatteryValues EmulatedController::GetBatteryValues() const {
1139 std::lock_guard lock{mutex}; 1139 std::scoped_lock lock{mutex};
1140 return controller.battery_values; 1140 return controller.battery_values;
1141} 1141}
1142 1142
1143HomeButtonState EmulatedController::GetHomeButtons() const { 1143HomeButtonState EmulatedController::GetHomeButtons() const {
1144 std::lock_guard lock{mutex}; 1144 std::scoped_lock lock{mutex};
1145 if (is_configuring) { 1145 if (is_configuring) {
1146 return {}; 1146 return {};
1147 } 1147 }
@@ -1149,7 +1149,7 @@ HomeButtonState EmulatedController::GetHomeButtons() const {
1149} 1149}
1150 1150
1151CaptureButtonState EmulatedController::GetCaptureButtons() const { 1151CaptureButtonState EmulatedController::GetCaptureButtons() const {
1152 std::lock_guard lock{mutex}; 1152 std::scoped_lock lock{mutex};
1153 if (is_configuring) { 1153 if (is_configuring) {
1154 return {}; 1154 return {};
1155 } 1155 }
@@ -1157,7 +1157,7 @@ CaptureButtonState EmulatedController::GetCaptureButtons() const {
1157} 1157}
1158 1158
1159NpadButtonState EmulatedController::GetNpadButtons() const { 1159NpadButtonState EmulatedController::GetNpadButtons() const {
1160 std::lock_guard lock{mutex}; 1160 std::scoped_lock lock{mutex};
1161 if (is_configuring) { 1161 if (is_configuring) {
1162 return {}; 1162 return {};
1163 } 1163 }
@@ -1165,7 +1165,7 @@ NpadButtonState EmulatedController::GetNpadButtons() const {
1165} 1165}
1166 1166
1167DebugPadButton EmulatedController::GetDebugPadButtons() const { 1167DebugPadButton EmulatedController::GetDebugPadButtons() const {
1168 std::lock_guard lock{mutex}; 1168 std::scoped_lock lock{mutex};
1169 if (is_configuring) { 1169 if (is_configuring) {
1170 return {}; 1170 return {};
1171 } 1171 }
@@ -1173,7 +1173,7 @@ DebugPadButton EmulatedController::GetDebugPadButtons() const {
1173} 1173}
1174 1174
1175AnalogSticks EmulatedController::GetSticks() const { 1175AnalogSticks EmulatedController::GetSticks() const {
1176 std::lock_guard lock{mutex}; 1176 std::scoped_lock lock{mutex};
1177 if (is_configuring) { 1177 if (is_configuring) {
1178 return {}; 1178 return {};
1179 } 1179 }
@@ -1188,7 +1188,7 @@ AnalogSticks EmulatedController::GetSticks() const {
1188} 1188}
1189 1189
1190NpadGcTriggerState EmulatedController::GetTriggers() const { 1190NpadGcTriggerState EmulatedController::GetTriggers() const {
1191 std::lock_guard lock{mutex}; 1191 std::scoped_lock lock{mutex};
1192 if (is_configuring) { 1192 if (is_configuring) {
1193 return {}; 1193 return {};
1194 } 1194 }
@@ -1196,7 +1196,7 @@ NpadGcTriggerState EmulatedController::GetTriggers() const {
1196} 1196}
1197 1197
1198MotionState EmulatedController::GetMotions() const { 1198MotionState EmulatedController::GetMotions() const {
1199 std::lock_guard lock{mutex}; 1199 std::scoped_lock lock{mutex};
1200 if (force_update_motion) { 1200 if (force_update_motion) {
1201 for (auto& device : motion_devices) { 1201 for (auto& device : motion_devices) {
1202 if (!device) { 1202 if (!device) {
@@ -1209,17 +1209,17 @@ MotionState EmulatedController::GetMotions() const {
1209} 1209}
1210 1210
1211ControllerColors EmulatedController::GetColors() const { 1211ControllerColors EmulatedController::GetColors() const {
1212 std::lock_guard lock{mutex}; 1212 std::scoped_lock lock{mutex};
1213 return controller.colors_state; 1213 return controller.colors_state;
1214} 1214}
1215 1215
1216BatteryLevelState EmulatedController::GetBattery() const { 1216BatteryLevelState EmulatedController::GetBattery() const {
1217 std::lock_guard lock{mutex}; 1217 std::scoped_lock lock{mutex};
1218 return controller.battery_state; 1218 return controller.battery_state;
1219} 1219}
1220 1220
1221void EmulatedController::TriggerOnChange(ControllerTriggerType type, bool is_npad_service_update) { 1221void EmulatedController::TriggerOnChange(ControllerTriggerType type, bool is_npad_service_update) {
1222 std::lock_guard lock{callback_mutex}; 1222 std::scoped_lock lock{callback_mutex};
1223 for (const auto& poller_pair : callback_list) { 1223 for (const auto& poller_pair : callback_list) {
1224 const ControllerUpdateCallback& poller = poller_pair.second; 1224 const ControllerUpdateCallback& poller = poller_pair.second;
1225 if (!is_npad_service_update && poller.is_npad_service) { 1225 if (!is_npad_service_update && poller.is_npad_service) {
@@ -1232,13 +1232,13 @@ void EmulatedController::TriggerOnChange(ControllerTriggerType type, bool is_npa
1232} 1232}
1233 1233
1234int EmulatedController::SetCallback(ControllerUpdateCallback update_callback) { 1234int EmulatedController::SetCallback(ControllerUpdateCallback update_callback) {
1235 std::lock_guard lock{callback_mutex}; 1235 std::scoped_lock lock{callback_mutex};
1236 callback_list.insert_or_assign(last_callback_key, std::move(update_callback)); 1236 callback_list.insert_or_assign(last_callback_key, std::move(update_callback));
1237 return last_callback_key++; 1237 return last_callback_key++;
1238} 1238}
1239 1239
1240void EmulatedController::DeleteCallback(int key) { 1240void EmulatedController::DeleteCallback(int key) {
1241 std::lock_guard lock{callback_mutex}; 1241 std::scoped_lock lock{callback_mutex};
1242 const auto& iterator = callback_list.find(key); 1242 const auto& iterator = callback_list.find(key);
1243 if (iterator == callback_list.end()) { 1243 if (iterator == callback_list.end()) {
1244 LOG_ERROR(Input, "Tried to delete non-existent callback {}", key); 1244 LOG_ERROR(Input, "Tried to delete non-existent callback {}", key);
diff --git a/src/core/hid/emulated_devices.cpp b/src/core/hid/emulated_devices.cpp
index f899f8ac0..cc0dcd931 100644
--- a/src/core/hid/emulated_devices.cpp
+++ b/src/core/hid/emulated_devices.cpp
@@ -411,47 +411,47 @@ void EmulatedDevices::SetMouseStick(const Common::Input::CallbackStatus& callbac
411} 411}
412 412
413KeyboardValues EmulatedDevices::GetKeyboardValues() const { 413KeyboardValues EmulatedDevices::GetKeyboardValues() const {
414 std::lock_guard lock{mutex}; 414 std::scoped_lock lock{mutex};
415 return device_status.keyboard_values; 415 return device_status.keyboard_values;
416} 416}
417 417
418KeyboardModifierValues EmulatedDevices::GetKeyboardModdifierValues() const { 418KeyboardModifierValues EmulatedDevices::GetKeyboardModdifierValues() const {
419 std::lock_guard lock{mutex}; 419 std::scoped_lock lock{mutex};
420 return device_status.keyboard_moddifier_values; 420 return device_status.keyboard_moddifier_values;
421} 421}
422 422
423MouseButtonValues EmulatedDevices::GetMouseButtonsValues() const { 423MouseButtonValues EmulatedDevices::GetMouseButtonsValues() const {
424 std::lock_guard lock{mutex}; 424 std::scoped_lock lock{mutex};
425 return device_status.mouse_button_values; 425 return device_status.mouse_button_values;
426} 426}
427 427
428KeyboardKey EmulatedDevices::GetKeyboard() const { 428KeyboardKey EmulatedDevices::GetKeyboard() const {
429 std::lock_guard lock{mutex}; 429 std::scoped_lock lock{mutex};
430 return device_status.keyboard_state; 430 return device_status.keyboard_state;
431} 431}
432 432
433KeyboardModifier EmulatedDevices::GetKeyboardModifier() const { 433KeyboardModifier EmulatedDevices::GetKeyboardModifier() const {
434 std::lock_guard lock{mutex}; 434 std::scoped_lock lock{mutex};
435 return device_status.keyboard_moddifier_state; 435 return device_status.keyboard_moddifier_state;
436} 436}
437 437
438MouseButton EmulatedDevices::GetMouseButtons() const { 438MouseButton EmulatedDevices::GetMouseButtons() const {
439 std::lock_guard lock{mutex}; 439 std::scoped_lock lock{mutex};
440 return device_status.mouse_button_state; 440 return device_status.mouse_button_state;
441} 441}
442 442
443MousePosition EmulatedDevices::GetMousePosition() const { 443MousePosition EmulatedDevices::GetMousePosition() const {
444 std::lock_guard lock{mutex}; 444 std::scoped_lock lock{mutex};
445 return device_status.mouse_position_state; 445 return device_status.mouse_position_state;
446} 446}
447 447
448AnalogStickState EmulatedDevices::GetMouseWheel() const { 448AnalogStickState EmulatedDevices::GetMouseWheel() const {
449 std::lock_guard lock{mutex}; 449 std::scoped_lock lock{mutex};
450 return device_status.mouse_wheel_state; 450 return device_status.mouse_wheel_state;
451} 451}
452 452
453void EmulatedDevices::TriggerOnChange(DeviceTriggerType type) { 453void EmulatedDevices::TriggerOnChange(DeviceTriggerType type) {
454 std::lock_guard lock{callback_mutex}; 454 std::scoped_lock lock{callback_mutex};
455 for (const auto& poller_pair : callback_list) { 455 for (const auto& poller_pair : callback_list) {
456 const InterfaceUpdateCallback& poller = poller_pair.second; 456 const InterfaceUpdateCallback& poller = poller_pair.second;
457 if (poller.on_change) { 457 if (poller.on_change) {
@@ -461,13 +461,13 @@ void EmulatedDevices::TriggerOnChange(DeviceTriggerType type) {
461} 461}
462 462
463int EmulatedDevices::SetCallback(InterfaceUpdateCallback update_callback) { 463int EmulatedDevices::SetCallback(InterfaceUpdateCallback update_callback) {
464 std::lock_guard lock{callback_mutex}; 464 std::scoped_lock lock{callback_mutex};
465 callback_list.insert_or_assign(last_callback_key, std::move(update_callback)); 465 callback_list.insert_or_assign(last_callback_key, std::move(update_callback));
466 return last_callback_key++; 466 return last_callback_key++;
467} 467}
468 468
469void EmulatedDevices::DeleteCallback(int key) { 469void EmulatedDevices::DeleteCallback(int key) {
470 std::lock_guard lock{callback_mutex}; 470 std::scoped_lock lock{callback_mutex};
471 const auto& iterator = callback_list.find(key); 471 const auto& iterator = callback_list.find(key);
472 if (iterator == callback_list.end()) { 472 if (iterator == callback_list.end()) {
473 LOG_ERROR(Input, "Tried to delete non-existent callback {}", key); 473 LOG_ERROR(Input, "Tried to delete non-existent callback {}", key);