mirror of
https://github.com/wolfpld/tracy
synced 2025-05-01 21:23:52 +00:00
Add a separate method for clearing serial queue.
This commit is contained in:
parent
bccb845908
commit
c0b524d8de
@ -1614,23 +1614,26 @@ void Profiler::ClearQueues( moodycamel::ConsumerToken& token )
|
|||||||
for( size_t i=0; i<sz; i++ ) FreeAssociatedMemory( m_itemBuf[i] );
|
for( size_t i=0; i<sz; i++ ) FreeAssociatedMemory( m_itemBuf[i] );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ClearSerial();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Profiler::ClearSerial()
|
||||||
|
{
|
||||||
|
bool lockHeld = true;
|
||||||
|
while( !m_serialLock.try_lock() )
|
||||||
{
|
{
|
||||||
bool lockHeld = true;
|
if( m_shutdownManual.load( std::memory_order_relaxed ) )
|
||||||
while( !m_serialLock.try_lock() )
|
|
||||||
{
|
{
|
||||||
if( m_shutdownManual.load( std::memory_order_relaxed ) )
|
lockHeld = false;
|
||||||
{
|
break;
|
||||||
lockHeld = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for( auto& v : m_serialQueue ) FreeAssociatedMemory( v );
|
|
||||||
m_serialQueue.clear();
|
|
||||||
if( lockHeld )
|
|
||||||
{
|
|
||||||
m_serialLock.unlock();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
for( auto& v : m_serialQueue ) FreeAssociatedMemory( v );
|
||||||
|
m_serialQueue.clear();
|
||||||
|
if( lockHeld )
|
||||||
|
{
|
||||||
|
m_serialLock.unlock();
|
||||||
|
}
|
||||||
|
|
||||||
for( auto& v : m_serialDequeue ) FreeAssociatedMemory( v );
|
for( auto& v : m_serialDequeue ) FreeAssociatedMemory( v );
|
||||||
m_serialDequeue.clear();
|
m_serialDequeue.clear();
|
||||||
|
@ -452,6 +452,7 @@ private:
|
|||||||
void CompressWorker();
|
void CompressWorker();
|
||||||
|
|
||||||
void ClearQueues( tracy::moodycamel::ConsumerToken& token );
|
void ClearQueues( tracy::moodycamel::ConsumerToken& token );
|
||||||
|
void ClearSerial();
|
||||||
DequeueStatus Dequeue( tracy::moodycamel::ConsumerToken& token );
|
DequeueStatus Dequeue( tracy::moodycamel::ConsumerToken& token );
|
||||||
DequeueStatus DequeueSerial();
|
DequeueStatus DequeueSerial();
|
||||||
bool AppendData( const void* data, size_t len );
|
bool AppendData( const void* data, size_t len );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user