Sign in
android
/
kernel
/
common
/
765dcd209947e7b3666c08fb109ab8b879f7a471
/
.
/
scripts
/
atomic
/
fallbacks
/
try_cmpxchg
blob: c7a26213b97820466edfdf76f6fe700bc069550c [
file
] [
log
] [
blame
]
cat
<<
EOF
static
__always_inline
bool
$
{
atomic
}
_try_cmpxchg$
{
order
}(
$
{
atomic
}
_t
*
v
,
$
{
int
}
*
old
,
$
{
int
}
new
)
{
$
{
int
}
r
,
o
=
*
old
;
r
=
$
{
atomic
}
_cmpxchg$
{
order
}(
v
,
o
,
new
);
if
(
unlikely
(
r
!=
o
))
*
old
=
r
;
return
likely
(
r
==
o
);
}
EOF