diff --git a/server/TracyView.cpp b/server/TracyView.cpp index f4c61d40..0756f178 100644 --- a/server/TracyView.cpp +++ b/server/TracyView.cpp @@ -179,10 +179,6 @@ View::View( FileRead& f ) View::~View() { m_worker.Shutdown(); - if( !m_staticView ) - { - m_worker.Join(); - } assert( s_instance != nullptr ); s_instance = nullptr; diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index aaa40d4d..bbd26562 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -225,16 +225,13 @@ Worker::Worker( FileRead& f ) Worker::~Worker() { - delete [] m_buffer; - LZ4_freeStreamDecode( m_stream ); -} - -void Worker::Join() -{ + Shutdown(); if ( m_thread.joinable() ) { m_thread.join(); } + delete [] m_buffer; + LZ4_freeStreamDecode( m_stream ); } int64_t Worker::GetFrameTime( size_t idx ) const diff --git a/server/TracyWorker.hpp b/server/TracyWorker.hpp index 50b3911d..e8d06c71 100644 --- a/server/TracyWorker.hpp +++ b/server/TracyWorker.hpp @@ -109,7 +109,6 @@ public: bool IsConnected() const { return m_connected.load( std::memory_order_relaxed ); } void Shutdown() { m_shutdown.store( true, std::memory_order_relaxed ); } - void Join(); void Write( FileWrite& f ); private: