Notify after queue can be done out of the lock.

This commit is contained in:
Bartosz Taudul
2026-08-27 17:22:09 +02:00
parent 32aa7ee1f5
commit 253b68dcb6

View File

@@ -33,15 +33,19 @@ TaskDispatch::~TaskDispatch()
void TaskDispatch::Queue( const std::function<void(void)>& f )
{
std::lock_guard<std::mutex> lock( m_queueLock );
m_queue.emplace_back( f );
{
std::lock_guard<std::mutex> lock( m_queueLock );
m_queue.emplace_back( f );
}
m_cvWork.notify_one();
}
void TaskDispatch::Queue( std::function<void(void)>&& f )
{
std::lock_guard<std::mutex> lock( m_queueLock );
m_queue.emplace_back( std::move( f ) );
{
std::lock_guard<std::mutex> lock( m_queueLock );
m_queue.emplace_back( std::move( f ) );
}
m_cvWork.notify_one();
}