Ada Programming/Libraries/System.Atomic Operations.Test And Set

From Wikibooks, open books for an open world
Jump to navigation Jump to search

This language feature has been introduced in Ada 2022.

System.Atomic Operations.Test_And_Set is a unit of the Predefined Language Environment since Ada 2022.

package System.Atomic_Operations.Test_And_Set
   with Pure, Nonblocking is

   type Test_And_Set_Flag is mod implementation-defined
      with Atomic, Default_Value => 0, Size => implementation-defined;

   function Atomic_Test_And_Set
     (Item : aliased in out Test_And_Set_Flag) return Boolean
      with Convention => Intrinsic;

   procedure Atomic_Clear
     (Item : aliased in out Test_And_Set_Flag)
      with Convention => Intrinsic;

   function Is_Lock_Free
     (Item : aliased Test_And_Set_Flag) return Boolean
      with Convention => Intrinsic;

end System.Atomic_Operations.Test_And_Set;