Thread tool terminate
This set of changes completes the work started by @leggett on thread initialization tools. Such tools are invoked by the ThreadPoolSvc on each worker thread when the pool is initialized and can be used to setup thread-local workspaces in cases where necessary (e.g. for running multi-threaded Geant4). These commits enable the thread-termination part of those tools for corresponding cleanup/finalization of thread-local memory. This is done primarily by adding a terminatePool method to IThreadPoolSvc which is called at the end of ForwardSchedulerSvc::activate. The ThreadPoolSvc underwent some slight refactoring to support the thread-termination tasks. Also included in this merge request are a number of whitespace and indentation fixes, as well as some added class documentation in the affected classes. See merge request !4
No related branches found
No related tags found
Showing
- GaudiHive/src/ForwardSchedulerSvc.cpp 72 additions, 62 deletionsGaudiHive/src/ForwardSchedulerSvc.cpp
- GaudiHive/src/ThreadInitTask.cpp 34 additions, 34 deletionsGaudiHive/src/ThreadInitTask.cpp
- GaudiHive/src/ThreadInitTask.h 14 additions, 3 deletionsGaudiHive/src/ThreadInitTask.h
- GaudiHive/src/ThreadPoolSvc.cpp 121 additions, 77 deletionsGaudiHive/src/ThreadPoolSvc.cpp
- GaudiHive/src/ThreadPoolSvc.h 26 additions, 8 deletionsGaudiHive/src/ThreadPoolSvc.h
- GaudiKernel/GaudiKernel/IThreadInitTool.h 24 additions, 7 deletionsGaudiKernel/GaudiKernel/IThreadInitTool.h
- GaudiKernel/GaudiKernel/IThreadPoolSvc.h 15 additions, 7 deletionsGaudiKernel/GaudiKernel/IThreadPoolSvc.h
Loading
Please register or sign in to comment