diff options
| author | 2023-12-23 14:25:51 -0500 | |
|---|---|---|
| committer | 2023-12-23 15:36:46 -0500 | |
| commit | 3a4e7d45f1b2dfc1a47c00679e99c2034861e73a (patch) | |
| tree | 50807dd6ff750c65e998c3f0c62318d845d9e3c2 /src/core/core_timing.cpp | |
| parent | core_timing: handle concurrent unscheduling of looping events (diff) | |
| download | yuzu-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.cpp | 3 |
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 | ||
| 74 | void CoreTiming::ClearPendingEvents() { | 74 | void 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 | ||
| 79 | void CoreTiming::Pause(bool is_paused) { | 80 | void CoreTiming::Pause(bool is_paused) { |