From 84f09a2a10e674abc0d3baff6eb280ccf60efa25 Mon Sep 17 00:00:00 2001
From: Frank Winklmeier <frank.winklmeier@cern.ch>
Date: Wed, 27 Feb 2019 16:36:22 +0100
Subject: [PATCH] TrigNavStructure: Minimal fixes for thread-safety checker

Mark a few statics as thread-safe. Note that this entire code is legacy
and will never be used in athenaMT. But these minimal fixes allow the
thread-checker to run in client packages that contain mixed MT/non-MT
code.
---
 Trigger/TrigEvent/TrigNavStructure/CMakeLists.txt          | 4 ++--
 .../TrigNavStructure/TrigNavStructure/TrigNavStructure.h   | 7 ++++---
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/Trigger/TrigEvent/TrigNavStructure/CMakeLists.txt b/Trigger/TrigEvent/TrigNavStructure/CMakeLists.txt
index ba4ff687e9d1..2219f6bee9c3 100644
--- a/Trigger/TrigEvent/TrigNavStructure/CMakeLists.txt
+++ b/Trigger/TrigEvent/TrigNavStructure/CMakeLists.txt
@@ -1,4 +1,3 @@
-# $Id: CMakeLists.txt 778117 2016-10-12 20:11:14Z krasznaa $
 ################################################################################
 # Package: TrigNavStructure
 ################################################################################
@@ -10,7 +9,8 @@ atlas_subdir( TrigNavStructure )
 atlas_depends_on_subdirs(
    PUBLIC
    Control/AthContainers
-   Control/AthToolSupport/AsgTools )
+   Control/AthToolSupport/AsgTools
+   Control/CxxUtils )
 
 # External dependencies:
 find_package( Boost COMPONENTS regex )
diff --git a/Trigger/TrigEvent/TrigNavStructure/TrigNavStructure/TrigNavStructure.h b/Trigger/TrigEvent/TrigNavStructure/TrigNavStructure/TrigNavStructure.h
index 566f82b9aeab..675e07a5fe63 100644
--- a/Trigger/TrigEvent/TrigNavStructure/TrigNavStructure/TrigNavStructure.h
+++ b/Trigger/TrigEvent/TrigNavStructure/TrigNavStructure/TrigNavStructure.h
@@ -1,7 +1,7 @@
 // Dear emacs, this is -*- c++ -*-
 
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 
@@ -10,6 +10,7 @@
 
 #include <vector>
 
+#include "CxxUtils/checker_macros.h"
 #include "TrigNavStructure/TriggerElement.h"
 #include "TrigNavStructure/TriggerElementFactory.h"
 #include "TrigNavStructure/BaseHolder.h"
@@ -363,8 +364,8 @@ namespace HLT {
 
     TriggerElementFactory m_factory;                     //!< factory of trigger elements
     TrigHolderStructure m_holderstorage;                 //!< structure for feature holders
-    static const TriggerElement* m_unspecifiedTE;
-    static std::string m_unspecifiedLabel;
+    static const TriggerElement* m_unspecifiedTE ATLAS_THREAD_SAFE;
+    static std::string m_unspecifiedLabel ATLAS_THREAD_SAFE;
 
 
   };
-- 
GitLab