diff --git a/public/client/TracyProfiler.cpp b/public/client/TracyProfiler.cpp index 6f242de6..b507c104 100644 --- a/public/client/TracyProfiler.cpp +++ b/public/client/TracyProfiler.cpp @@ -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 )