Skip to content

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.

Merge request reports