From 67fd4f0d1c8311537473fa2ac1d8f439c7309e22 Mon Sep 17 00:00:00 2001 From: Susumu Oda <susumu.oda@cern.ch> Date: Wed, 1 Jul 2020 12:25:23 +0200 Subject: [PATCH] Add ATLAS_CHECK_THREAD_SAFETY to InDetAlignTools package. Add ATLAS_NOT_THREAD_SAFE to InDetAlignDBTool because global variables and const_cast are used. --- .../InDetAlignTools/InDetAlignGenTools/CMakeLists.txt | 3 ++- .../InDetAlignGenTools/ATLAS_CHECK_THREAD_SAFETY | 1 + .../InDetAlignGenTools/InDetAlignDBTool.h | 6 ++++-- 3 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 InnerDetector/InDetAlignTools/InDetAlignGenTools/InDetAlignGenTools/ATLAS_CHECK_THREAD_SAFETY diff --git a/InnerDetector/InDetAlignTools/InDetAlignGenTools/CMakeLists.txt b/InnerDetector/InDetAlignTools/InDetAlignGenTools/CMakeLists.txt index 73dab69a5db..71d4c62e79a 100644 --- a/InnerDetector/InDetAlignTools/InDetAlignGenTools/CMakeLists.txt +++ b/InnerDetector/InDetAlignTools/InDetAlignGenTools/CMakeLists.txt @@ -9,6 +9,7 @@ atlas_subdir( InDetAlignGenTools ) atlas_depends_on_subdirs( PUBLIC Control/AthenaBaseComps Control/AthenaKernel + Control/CxxUtils Database/AthenaPOOL/AthenaPoolUtilities DetectorDescription/GeoPrimitives DetectorDescription/Identifier @@ -55,7 +56,7 @@ atlas_add_component( InDetAlignGenTools src/*.cxx src/components/*.cxx INCLUDE_DIRS ${CORAL_INCLUDE_DIRS} ${HEPPDT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS} - LINK_LIBRARIES ${CORAL_LIBRARIES} ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} AthenaBaseComps AthenaPoolUtilities GeoPrimitives Identifier EventPrimitives InDetAlignTrkInfo InDetPrepRawData TrkEventPrimitives TrkEventUtils TrkTrack TrkExInterfaces TrkToolInterfaces AthenaKernel AthContainers AtlasDetDescr DetDescrConditions GaudiKernel InDetIdentifier InDetReadoutGeometry PixelReadoutGeometry SCT_ReadoutGeometry TRT_ReadoutGeometry TrkMeasurementBase TrkParameters TrkPrepRawData TrkRIO_OnTrack TrkTrackSummary TrkTruthData TrkFitterInterfaces EventContainers TrackRecordLib ) + LINK_LIBRARIES ${CORAL_LIBRARIES} ${HEPPDT_LIBRARIES} ${CLHEP_LIBRARIES} AtlasHepMCLib ${EIGEN_LIBRARIES} AthenaBaseComps AthenaPoolUtilities GeoPrimitives Identifier EventPrimitives InDetAlignTrkInfo InDetPrepRawData TrkEventPrimitives TrkEventUtils TrkTrack TrkExInterfaces TrkToolInterfaces AthenaKernel AthContainers AtlasDetDescr CxxUtils DetDescrConditions GaudiKernel InDetIdentifier InDetReadoutGeometry PixelReadoutGeometry SCT_ReadoutGeometry TRT_ReadoutGeometry TrkMeasurementBase TrkParameters TrkPrepRawData TrkRIO_OnTrack TrkTrackSummary TrkTruthData TrkFitterInterfaces EventContainers TrackRecordLib ) # Install files from the package: atlas_install_headers( InDetAlignGenTools ) diff --git a/InnerDetector/InDetAlignTools/InDetAlignGenTools/InDetAlignGenTools/ATLAS_CHECK_THREAD_SAFETY b/InnerDetector/InDetAlignTools/InDetAlignGenTools/InDetAlignGenTools/ATLAS_CHECK_THREAD_SAFETY new file mode 100644 index 00000000000..b422f2a4d70 --- /dev/null +++ b/InnerDetector/InDetAlignTools/InDetAlignGenTools/InDetAlignGenTools/ATLAS_CHECK_THREAD_SAFETY @@ -0,0 +1 @@ +InnerDetector/InDetAlignTools/InDetAlignGenTools diff --git a/InnerDetector/InDetAlignTools/InDetAlignGenTools/InDetAlignGenTools/InDetAlignDBTool.h b/InnerDetector/InDetAlignTools/InDetAlignGenTools/InDetAlignGenTools/InDetAlignDBTool.h index e3d6bc03ce3..3b81a464b0d 100755 --- a/InnerDetector/InDetAlignTools/InDetAlignGenTools/InDetAlignGenTools/InDetAlignDBTool.h +++ b/InnerDetector/InDetAlignTools/InDetAlignGenTools/InDetAlignGenTools/InDetAlignDBTool.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ #ifndef INDETALIGNGENTOOLS_ALIGNDBTOOL_H @@ -36,6 +36,7 @@ #include "GaudiKernel/ServiceHandle.h" #include "InDetAlignGenTools/IInDetAlignDBTool.h" #include "AthenaPoolUtilities/CondAttrListCollection.h" +#include "CxxUtils/checker_macros.h" class PixelID; class SCT_ID; @@ -46,7 +47,8 @@ namespace InDetDD { class SCT_DetectorManager; } -class InDetAlignDBTool: virtual public IInDetAlignDBTool, public AthAlgTool { +class ATLAS_NOT_THREAD_SAFE InDetAlignDBTool: // Global variables and const_cast are used. +virtual public IInDetAlignDBTool, public AthAlgTool { public: InDetAlignDBTool(const std::string& type, const std::string& name, const IInterface* parent); -- GitLab