Performs a conditional atomic compare and exchange operation with release 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. Release memory ordering guarantees that the memory read/write is made visible after all previous data memory acceses to the same memory location by other processors. The function returns 1 if the write occurs, and 0 otherwise. Syntax: int __CMP_SWAP_LONG_REL (volatile void *source, int old_value, int new_value);