Skip to content
Snippets Groups Projects
Commit 1d3f99c4 authored by Charles Leggett's avatar Charles Leggett
Browse files

ThreadPoolSvc: Bugfix/barrier fix

(from Steve Farrell) see atlas/Gaudi!17

This merge fixes a serious undefined behavior condition in ThreadPoolSvc introduced in the thread-tool-terminate merge. The boost::barrier was moved to a function local which could drop out of scope before workers returned from waiting. Now, the barrier is again a class member of the ThreadPoolSvc. Tests are successful.
Additionally, I added a safety check in ThreadPoolSvc::terminateTool that returns FAILURE if the pool wasn't actually initialized.

Finally, I put the ThreadPoolSvc's raw pointer class members into unique_ptrs for automatic deletion.

See merge request !160
parents 2a16f733 4bb2a69f
No related branches found
No related tags found
Loading
Checking pipeline status
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment