Fix possible data race.
authorMikhail Kurinnoi <m.kurinnoi@samsung.com>
Wed, 10 Jul 2024 14:15:31 +0000 (17:15 +0300)
committerGleb Balykov/Advanced System SW Lab /SRR/Staff Engineer/Samsung Electronics <g.balykov@samsung.com>
Sun, 14 Jul 2024 10:47:34 +0000 (13:47 +0300)
src/tracelog/tracelog.cpp

index c3879f04d985acfbad55de6a42674b0065b7a104..f6f140283876e835c4a16bec686eff2150e7fffa 100644 (file)
@@ -478,12 +478,12 @@ private:
     bool          m_stream_owner;
     tracefmt      m_tracefmt;
     bool                    m_needStopWorker;
-    std::thread             m_worker;
     std::condition_variable m_workerCV;
     trace_queue_t           m_workerQueue;
     // Cache for used entries (reuse old in order to prevent memory allocations).
     std::mutex              m_cacheMutex;
     trace_queue_t           m_cache;
+    std::thread             m_worker; // Make sure this one constructed after m_needStopWorker, m_workerCV, m_workerQueue, m_cacheMutex and m_cache.
 
     void Worker()
     {