mirror of
https://github.com/wolfpld/tracy.git
synced 2026-09-01 07:58:31 +00:00
Merge pull request #1149 from anderswk-ioi/master
Fix crash due to freeing elements of m_serialDequeue twice.
This commit is contained in:
@@ -2846,9 +2846,13 @@ Profiler::DequeueStatus Profiler::DequeueSerial()
|
||||
}
|
||||
}
|
||||
|
||||
DequeueStatus dequeueStatus = DequeueStatus::QueueEmpty;
|
||||
|
||||
const auto sz = m_serialDequeue.size();
|
||||
if( sz > 0 )
|
||||
{
|
||||
dequeueStatus = DequeueStatus::DataDequeued;
|
||||
|
||||
InitRpmalloc();
|
||||
int64_t refSerial = m_refTimeSerial;
|
||||
int64_t refGpu = m_refTimeGpu;
|
||||
@@ -3145,7 +3149,10 @@ Profiler::DequeueStatus Profiler::DequeueSerial()
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if( !AppendData( item, QueueDataSize[idx] ) ) return DequeueStatus::ConnectionLost;
|
||||
if(dequeueStatus != DequeueStatus::ConnectionLost && !AppendData( item, QueueDataSize[idx] ) )
|
||||
{
|
||||
dequeueStatus = DequeueStatus::ConnectionLost;
|
||||
}
|
||||
item++;
|
||||
}
|
||||
m_refTimeSerial = refSerial;
|
||||
@@ -3155,11 +3162,7 @@ Profiler::DequeueStatus Profiler::DequeueSerial()
|
||||
#endif
|
||||
m_serialDequeue.clear();
|
||||
}
|
||||
else
|
||||
{
|
||||
return DequeueStatus::QueueEmpty;
|
||||
}
|
||||
return DequeueStatus::DataDequeued;
|
||||
return dequeueStatus;
|
||||
}
|
||||
|
||||
Profiler::ThreadCtxStatus Profiler::ThreadCtxCheck( uint32_t threadId )
|
||||
|
||||
Reference in New Issue
Block a user