From 293d80b18af5d345248e067f773d79b9d35e7e37 Mon Sep 17 00:00:00 2001
From: scott snyder <sss@karma>
Date: Thu, 15 Sep 2022 20:49:39 -0400
Subject: [PATCH] ByteStreamCnvSvc: Fix thread-safety checker warnings.

Fix some new thread-safety checker warnings.
---
 Event/ByteStreamCnvSvc/CMakeLists.txt                  |  2 +-
 Event/ByteStreamCnvSvc/src/EventSelectorByteStream.cxx | 10 +++++++---
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/Event/ByteStreamCnvSvc/CMakeLists.txt b/Event/ByteStreamCnvSvc/CMakeLists.txt
index 2978f65f396e..4d364f5abee1 100644
--- a/Event/ByteStreamCnvSvc/CMakeLists.txt
+++ b/Event/ByteStreamCnvSvc/CMakeLists.txt
@@ -20,7 +20,7 @@ atlas_add_library( ByteStreamCnvSvcLib
    PRIVATE_LINK_LIBRARIES ${TDAQ-COMMON_LIBRARIES} ${Boost_LIBRARIES}
    AthenaKernel SGTools CollectionBase FileCatalog
    AthenaPoolUtilities PersistentDataModel xAODEventInfo xAODTrigger
-   ByteStreamCnvSvcLegacy )
+   ByteStreamCnvSvcLegacy CxxUtils )
 
 atlas_add_component( ByteStreamCnvSvc
    src/components/*.cxx
diff --git a/Event/ByteStreamCnvSvc/src/EventSelectorByteStream.cxx b/Event/ByteStreamCnvSvc/src/EventSelectorByteStream.cxx
index b3100875086a..36e698b11040 100644
--- a/Event/ByteStreamCnvSvc/src/EventSelectorByteStream.cxx
+++ b/Event/ByteStreamCnvSvc/src/EventSelectorByteStream.cxx
@@ -11,6 +11,7 @@
 #include "ByteStreamCnvSvc/ByteStreamInputSvc.h"
 #include "ByteStreamCnvSvcBase/ByteStreamAddress.h"
 #include "ByteStreamCnvSvc/ByteStreamExceptions.h"
+#include "CxxUtils/checker_macros.h"
 
 #include "GaudiKernel/ClassID.h"
 #include "GaudiKernel/FileIncident.h"
@@ -732,7 +733,8 @@ StatusCode EventSelectorByteStream::seek(Context& /* it */, int evtNum) const {
       }
       int delta = evtNum - m_firstEvt[m_fileCount];
       if (delta > 0) {
-        if (nextImpl(*m_beginIter,delta, lock).isFailure()) return StatusCode::FAILURE;
+        EventContextByteStream* beginIter ATLAS_THREAD_SAFE = m_beginIter;
+        if (nextImpl(*beginIter,delta, lock).isFailure()) return StatusCode::FAILURE;
       }
    }
    // event in current file
@@ -743,10 +745,12 @@ StatusCode EventSelectorByteStream::seek(Context& /* it */, int evtNum) const {
          // nothing to do
       }
       else if ( delta > 0 ) { // forward
-         if ( this->nextImpl(*m_beginIter, delta, lock).isFailure() ) return StatusCode::FAILURE;
+         EventContextByteStream* beginIter ATLAS_THREAD_SAFE = m_beginIter;
+         if ( this->nextImpl(*beginIter, delta, lock).isFailure() ) return StatusCode::FAILURE;
       }
       else if ( delta < 0 ) { // backward
-         if ( this->previousImpl(*m_beginIter, -1*delta, lock).isFailure() ) return(StatusCode::FAILURE);
+         EventContextByteStream* beginIter ATLAS_THREAD_SAFE = m_beginIter;
+         if ( this->previousImpl(*beginIter, -1*delta, lock).isFailure() ) return(StatusCode::FAILURE);
       }
    }
    return StatusCode::SUCCESS;
-- 
GitLab