Procházet zdrojové kódy

core_timing: block advance thread while clearing and signal after

Liam před 2 roky
rodič
revize
3a4e7d45f1
1 změnil soubory, kde provedl 2 přidání a 1 odebrání
  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) {