Sign in
android-kvm
/
linux
/
4550bdb0bd8fd603412eab53bd331be5ef8e47a0
/
.
/
tools
/
perf
/
config
/
feature-checks
/
test-sync-compare-and-swap.c
blob: c34d4ca4af56eb34e5d9b90aa2cabe1d4c844bac [
file
] [
log
] [
blame
]
#include
<stdint.h>
volatile
uint64_t
x
;
int
main
(
int
argc
,
char
*
argv
[])
{
uint64_t
old
,
new
=
argc
;
argv
=
argv
;
do
{
old
=
__sync_val_compare_and_swap
(&
x
,
0
,
0
);
}
while
(!
__sync_bool_compare_and_swap
(&
x
,
old
,
new
));
return
old
==
new
;
}