Fixing some atomics
This attempts to correct some atomic usage I spotted.
I remove the incident service from one tool as this is to be avoided in athenaMT
Some comments:
- Not everything that is mutable should be made atomic, counters are usually ok but other things require more thought
- Try to see if you can remove mutability safely
- Just because something is atomic doesn't mean it is threadsafe (see where I am creating objects with atomic pointers)
- Using atomics kills performance so load/store them as little as possible (cache on stack for iterative usages)
For some reason I have some white space changes included that I can't get rid of easily.
Edited by Adam Edward Barton