VMS Help  —  CC  Language topics, Builtin Functions,  CMP SWAP LONG ACQ
  Performs a conditional atomic compare and exchange operation with
  acquire semantics on a longword.  The longword pointed to by source
  is read and compared with the longword old_value.  If they are
  equal, the longword new_value is written into the longword pointed
  to by source.  The read and write is performed atomically, with no
  intervening access to the same memory region.

  Acquire memory ordering guarantees that the memory read/write is
  made visible before all subsequent data accesses to the same memory
  location by other processors.

  The function returns 1 if the write occurs, and 0 otherwise.

  Syntax:

       int __CMP_SWAP_LONG_ACQ (volatile void *source, int old_value,
       int new_value);
Close Help