Syntax:
pragma Disable_Atomic_Synchronization [(Entity)]; pragma Enable_Atomic_Synchronization [(Entity)];
Ada requires that accesses (reads or writes) of an atomic variable be
regarded as synchronization points in the case of multiple tasks.
Particularly in the case of multi-processors this may require special
handling, e.g. the generation of memory barriers. This synchronization
is performed by default, but can be turned off using pragma
Disable_Atomic_Synchronization.
The Enable_Atomic_Synchronization pragma turns it back on.
The placement and scope rules for these pragmas are the same as those
for pragma Suppress. In particular they can be used as
configuration pragmas, or in a declaration sequence where they apply
until the end of the scope. If an Entity argument is present,
the action applies only to that entity.