mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-10 02:31:48 +00:00
Track status of worker background tasks.
This commit is contained in:
parent
96b1df67b9
commit
5681096486
@ -1202,6 +1202,7 @@ finishLoading:
|
||||
s_loadProgress.total.store( 0, std::memory_order_relaxed );
|
||||
m_loadTime = std::chrono::duration_cast<std::chrono::nanoseconds>( std::chrono::high_resolution_clock::now() - loadStart ).count();
|
||||
|
||||
m_backgroundDone.store( false, std::memory_order_relaxed );
|
||||
#ifndef TRACY_NO_STATISTICS
|
||||
m_threadBackground = std::thread( [this, reconstructMemAllocPlot] {
|
||||
std::function<void(const Vector<ZoneEvent*>&, uint16_t)> ProcessTimeline;
|
||||
@ -1241,11 +1242,12 @@ finishLoading:
|
||||
m_data.sourceLocationZonesReady = true;
|
||||
}
|
||||
if( reconstructMemAllocPlot ) ReconstructMemAllocPlot();
|
||||
m_backgroundDone.store( true, std::memory_order_relaxed );
|
||||
} );
|
||||
#else
|
||||
if( reconstructMemAllocPlot )
|
||||
{
|
||||
m_threadBackground = std::thread( [this] { ReconstructMemAllocPlot(); } );
|
||||
m_threadBackground = std::thread( [this] { ReconstructMemAllocPlot(); m_backgroundDone.store( true, std::memory_order_relaxed ); } );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
@ -323,6 +323,7 @@ public:
|
||||
bool HasData() const { return m_hasData.load( std::memory_order_acquire ); }
|
||||
bool IsConnected() const { return m_connected.load( std::memory_order_relaxed ); }
|
||||
bool IsDataStatic() const { return !m_thread.joinable(); }
|
||||
bool IsBackgroundDone() const { return m_backgroundDone.load( std::memory_order_relaxed ); }
|
||||
void Shutdown() { m_shutdown.store( true, std::memory_order_relaxed ); }
|
||||
void Disconnect() { Shutdown(); } // TODO: Needs proper implementation.
|
||||
|
||||
@ -464,6 +465,7 @@ private:
|
||||
std::atomic<bool> m_hasData;
|
||||
std::atomic<bool> m_shutdown { false };
|
||||
|
||||
std::atomic<bool> m_backgroundDone { true };
|
||||
std::thread m_threadBackground;
|
||||
|
||||
int64_t m_delay;
|
||||
|
Loading…
Reference in New Issue
Block a user