diff --git a/server/TracyView.cpp b/server/TracyView.cpp index 3446160a..c00e56bc 100755 --- a/server/TracyView.cpp +++ b/server/TracyView.cpp @@ -22,6 +22,7 @@ static View* s_instance = nullptr; View::View( const char* addr ) : m_addr( addr ) , m_shutdown( false ) + , m_connected( false ) , m_mbps( 64 ) , m_stream( LZ4_createStreamDecode() ) , m_buffer( new char[TargetFrameSize*3] ) @@ -74,6 +75,8 @@ void View::Worker() m_frames.push_back( timeStart ); LZ4_setStreamDecode( m_stream, nullptr, 0 ); + m_connected.store( true, std::memory_order_relaxed ); + t0 = std::chrono::high_resolution_clock::now(); for(;;) @@ -131,6 +134,7 @@ void View::Worker() close: m_sock.Close(); + m_connected.store( false, std::memory_order_relaxed ); } } diff --git a/server/TracyView.hpp b/server/TracyView.hpp index 4affc0cd..d9ae7d4f 100755 --- a/server/TracyView.hpp +++ b/server/TracyView.hpp @@ -55,6 +55,7 @@ private: Socket m_sock; std::thread m_thread; std::atomic m_shutdown; + std::atomic m_connected; // this block must be locked std::mutex m_lock;