Check Lock on Multiprocessor Systems, Check Lock Doubleword on Multiprocessor Systems
Conditionally updates a single word or doubleword variable atomically.
unsigned int __check_lock_mp (const int* addr, int old_value, int new_value);
unsigned int __check_lockd_mp (const long* addr, long old_value, long new_value);
Returns false (0) if the value in addr was equal to old_value and has been set to the new_value. Returns true (1) if the value in addr was not equal to old_value and has been left unchanged.
__check_lockd_mp is valid only in 64-bit mode.