Make symbol thread exit status more robust.

This commit is contained in:
Bartosz Taudul 2022-09-13 21:07:03 +02:00
parent 048e20b68c
commit 0fc1c0f927
No known key found for this signature in database
GPG Key ID: B7FE2008B7575DF3

View File

@ -1485,7 +1485,6 @@ Profiler::~Profiler()
#ifdef TRACY_HAS_CALLSTACK
s_symbolThread->~Thread();
tracy_free( s_symbolThread );
s_symbolThreadGone.store( true, std::memory_order_release );
#endif
#ifndef TRACY_NO_FRAME_IMAGE
@ -3310,7 +3309,11 @@ void Profiler::SymbolWorker()
#ifdef TRACY_ON_DEMAND
if( !IsConnected() )
{
if( shouldExit ) return;
if( shouldExit )
{
s_symbolThreadGone.store( true, std::memory_order_release );
return;
}
while( m_symbolQueue.front() ) m_symbolQueue.pop();
std::this_thread::sleep_for( std::chrono::milliseconds( 20 ) );
continue;
@ -3324,7 +3327,11 @@ void Profiler::SymbolWorker()
}
else
{
if( shouldExit ) return;
if( shouldExit )
{
s_symbolThreadGone.store( true, std::memory_order_release );
return;
}
std::this_thread::sleep_for( std::chrono::milliseconds( 20 ) );
}
}