There was a problem fetching the pipeline summary.
Isolate EventContext from Algorithm
in order to not have re-entrant Algorithms stomp on each others' EventContexts, we need to isolate the EventContext from the Algorithm, and move it to the AlgoExecutionTask. We can then pass the EventContext explicitly to the tbb::task, instead of carrying it via the Algorithm, which would fail for re-entrant Algs. This also requires a change to the signature of ForwardSchedulerSvc::promoteToExecuted. We should also make the EventContext* of the Algorithm const, to prevent any modification from inside the Alg. See merge request !147
No related branches found
No related tags found
Pipeline #
Showing
- GaudiHive/src/AlgoExecutionTask.cpp 7 additions, 7 deletionsGaudiHive/src/AlgoExecutionTask.cpp
- GaudiHive/src/AlgoExecutionTask.h 4 additions, 0 deletionsGaudiHive/src/AlgoExecutionTask.h
- GaudiHive/src/ForwardSchedulerSvc.cpp 7 additions, 4 deletionsGaudiHive/src/ForwardSchedulerSvc.cpp
- GaudiHive/src/ForwardSchedulerSvc.h 1 addition, 1 deletionGaudiHive/src/ForwardSchedulerSvc.h
- GaudiHive/src/HiveReadAlgorithm.cpp 1 addition, 1 deletionGaudiHive/src/HiveReadAlgorithm.cpp
- GaudiKernel/GaudiKernel/Algorithm.h 3 additions, 3 deletionsGaudiKernel/GaudiKernel/Algorithm.h
- GaudiKernel/GaudiKernel/ThreadLocalContext.h 1 addition, 1 deletionGaudiKernel/GaudiKernel/ThreadLocalContext.h
- GaudiKernel/src/Lib/ThreadLocalContext.cpp 1 addition, 1 deletionGaudiKernel/src/Lib/ThreadLocalContext.cpp
Loading
Please register or sign in to comment