From 5e03ae99b3d83cf1b0bd58babf6f7345bf3adb6f Mon Sep 17 00:00:00 2001
From: Adam Edward Barton <adam.edward.barton@cern.ch>
Date: Tue, 7 May 2019 10:56:40 +0000
Subject: [PATCH] IDC: Satisfy some thread warnings

---
 .../EventContainers/IdentifiableContainerBase.h          | 9 +++++----
 Event/EventContainers/src/IdentifiableCacheBase.cxx      | 4 ++--
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/Event/EventContainers/EventContainers/IdentifiableContainerBase.h b/Event/EventContainers/EventContainers/IdentifiableContainerBase.h
index e9dce0ba34e..86d697f8226 100644
--- a/Event/EventContainers/EventContainers/IdentifiableContainerBase.h
+++ b/Event/EventContainers/EventContainers/IdentifiableContainerBase.h
@@ -7,6 +7,7 @@
 #define EVENTCONTAINERS_IDENTIFIABLECONTAINERBASE_H
 
 #include "EventContainers/IdentifiableCacheBase.h"
+#include "CxxUtils/checker_macros.h"
 
 class IdentifiableContainerBase{
 
@@ -18,11 +19,11 @@ public:
 protected:
     EventContainers::IdentifiableCacheBase *m_cacheLink;
     bool m_OnlineMode;
-    mutable std::atomic<bool> m_waitNeeded;
+    mutable std::atomic<bool> m_waitNeeded ATLAS_THREAD_SAFE; //These mutables are carefully thought out, do not change
     typedef EventContainers::IdentifiableCacheBase IdentifiableCacheBase;
-    mutable std::vector< IdentifierHash > m_waitlist;
-    mutable std::mutex m_waitMutex;
-    mutable std::vector<bool> m_mask;
+    mutable std::vector< IdentifierHash > m_waitlist ATLAS_THREAD_SAFE;
+    mutable std::mutex m_waitMutex ATLAS_THREAD_SAFE;
+    mutable std::vector<bool> m_mask ATLAS_THREAD_SAFE;
     std::vector<IdentifierHash> GetAllCurrentHashes() const;
 
     void Wait() const;
diff --git a/Event/EventContainers/src/IdentifiableCacheBase.cxx b/Event/EventContainers/src/IdentifiableCacheBase.cxx
index 325d2b08bef..ac2d57b61a0 100644
--- a/Event/EventContainers/src/IdentifiableCacheBase.cxx
+++ b/Event/EventContainers/src/IdentifiableCacheBase.cxx
@@ -20,8 +20,8 @@
 
 namespace EventContainers {
 
-static const void* INVALID = reinterpret_cast<const void*>(IdentifiableCacheBase::INVALIDflag);
-static const void* ABORTED = reinterpret_cast<const void*>(IdentifiableCacheBase::ABORTEDflag);
+const void* const INVALID = reinterpret_cast<const void*>(IdentifiableCacheBase::INVALIDflag);
+const void* const ABORTED = reinterpret_cast<const void*>(IdentifiableCacheBase::ABORTEDflag);
 
 IdentifiableCacheBase::IdentifiableCacheBase (IdentifierHash maxHash,
                                               const IMaker* maker)
-- 
GitLab