summaryrefslogtreecommitdiff
path: root/src/core/core_timing.cpp
diff options
context:
space:
mode:
authorGravatar Liam2023-12-23 14:25:51 -0500
committerGravatar Liam2023-12-23 15:36:46 -0500
commit3a4e7d45f1b2dfc1a47c00679e99c2034861e73a (patch)
tree50807dd6ff750c65e998c3f0c62318d845d9e3c2 /src/core/core_timing.cpp
parentcore_timing: handle concurrent unscheduling of looping events (diff)
downloadyuzu-3a4e7d45f1b2dfc1a47c00679e99c2034861e73a.tar.gz
yuzu-3a4e7d45f1b2dfc1a47c00679e99c2034861e73a.tar.xz
yuzu-3a4e7d45f1b2dfc1a47c00679e99c2034861e73a.zip
core_timing: block advance thread while clearing and signal after
Diffstat (limited to 'src/core/core_timing.cpp')
-rw-r--r--src/core/core_timing.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/core_timing.cpp b/src/core/core_timing.cpp
index c85590d4c..fc536413b 100644
--- a/src/core/core_timing.cpp
+++ b/src/core/core_timing.cpp
@@ -72,8 +72,9 @@ void CoreTiming::Initialize(std::function<void()>&& on_thread_init_) {
72} 72}
73 73
74void CoreTiming::ClearPendingEvents() { 74void CoreTiming::ClearPendingEvents() {
75 std::scoped_lock lock{basic_lock}; 75 std::scoped_lock lock{advance_lock, basic_lock};
76 event_queue.clear(); 76 event_queue.clear();
77 event.Set();
77} 78}
78 79
79void CoreTiming::Pause(bool is_paused) { 80void CoreTiming::Pause(bool is_paused) {