Figure out stupid math shit

Signed-off-by: Slendi <slendi@socopon.com>
This commit is contained in:
2026-01-10 16:15:36 +02:00
parent f896ddae74
commit e0ca1f1043
475 changed files with 499637 additions and 14 deletions

View File

@@ -0,0 +1,31 @@
#include "RunQueue.hpp"
RunQueue::RunQueue()
: m_mainThread( std::this_thread::get_id() )
{
}
void RunQueue::Queue( const std::function<void()>& cb, bool forceDelay )
{
if( !forceDelay && std::this_thread::get_id() == m_mainThread )
{
cb();
}
else
{
std::lock_guard<std::mutex> lock( m_lock );
m_queue.emplace_back( cb );
}
}
void RunQueue::Run()
{
std::unique_lock<std::mutex> lock( m_lock );
if( !m_queue.empty() )
{
std::vector<std::function<void()>> tmp;
std::swap( tmp, m_queue );
lock.unlock();
for( auto& cb : tmp ) cb();
}
}