Wake pacing queue waiters when Pacer is being destroyed

This commit is contained in:
Cameron Gutman 2022-11-12 15:55:36 -06:00
parent 5970ca49e9
commit cae666b834

View file

@ -47,6 +47,7 @@ Pacer::~Pacer()
// Stop the V-sync thread
if (m_VsyncThread != nullptr) {
m_PacingQueueNotEmpty.wakeAll();
m_VsyncSignalled.wakeAll();
SDL_WaitThread(m_VsyncThread, nullptr);
}
@ -244,6 +245,11 @@ void Pacer::handleVsync(int timeUntilNextVsyncMillis)
m_FrameQueueLock.unlock();
return;
}
if (m_Stopping) {
m_FrameQueueLock.unlock();
return;
}
}
// Place the first frame on the render queue