StoreGate: add locks in SGHiveMgrSvc::allocateStore() and SGHiveMgrSvc::freeStore()
Make allocateStore
and freeStore
methods thread-safe such that they can be called concurrently. Fixes slot collisions observed when testing with an experimental parallel-I/O HltEventLoopMgr.
Tested with:
athenaHLT \
-l DEBUG \
--threads=24 \
--concurrent-events=24 \
-n 100 \
-f /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data18_13TeV.00360026.physics_EnhancedBias.merge.RAW._lb0151._SFO-1._0001.1 \
AthExHelloWorld/HelloWorldOptions.py
Doesn't solve all problems with parallel start/end of events, but I think the remaining ones are not in SGHiveMgrSvc and I'll need to investigate them more.
cc @ssnyder