Kaynağa Gözat

core_timing: block advance thread while clearing and signal after

Liam 2 yıl önce
ebeveyn
işleme
3a4e7d45f1
1 değiştirilmiş dosya ile 2 ekleme ve 1 silme
  1. 2 1
      src/core/core_timing.cpp

+ 2 - 1
src/core/core_timing.cpp

@@ -72,8 +72,9 @@ void CoreTiming::Initialize(std::function<void()>&& on_thread_init_) {
 }
 
 void CoreTiming::ClearPendingEvents() {
-    std::scoped_lock lock{basic_lock};
+    std::scoped_lock lock{advance_lock, basic_lock};
     event_queue.clear();
+    event.Set();
 }
 
 void CoreTiming::Pause(bool is_paused) {