WorkQueueThread: Implement proper Flush

and rename the existing Flush to FlushOne.
This commit is contained in:
Robin Kertels 2023-01-29 16:16:29 +01:00 committed by Scott Mansell
parent 9badcc6eb8
commit 9affbfe683
1 changed files with 12 additions and 1 deletions

View File

@ -91,7 +91,7 @@ public:
}
// Doesn't return until the most recent function invocation has finished.
void Flush()
void FlushOne()
{
if (m_thread.joinable())
{
@ -101,6 +101,17 @@ public:
}
}
// Doesn't return until the queue is empty.
void Flush()
{
if (m_thread.joinable())
{
m_flush.Set();
m_wakeup.Set();
m_flushed.Wait();
}
}
bool IsFlushing() const { return m_flush.IsSet() || m_shutdown.IsSet(); }
private: