Skip to content

Fixing some atomics

Adam Edward Barton requested to merge abarton/athena:someMTfixes into master

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.

cc @oda @ssnyder for comment/discussion

Edited by Adam Edward Barton

Merge request reports