Sign in
cos
/
third_party
/
kernel
/
894f17dcc8a978b3bd6e85e3cfe41e97d55a87d8
/
.
/
scripts
/
atomic
/
fallbacks
/
inc_unless_negative
blob: 7b4b09868842d4ce978e0af532d7c0decfcbcb66 [
file
] [
log
] [
blame
]
cat
<<
EOF
$
{
int
}
c
=
raw_$
{
atomic
}
_read
(
v
);
do
{
if
(
unlikely
(
c
<
0
))
return
false
;
}
while
(!
raw_$
{
atomic
}
_try_cmpxchg
(
v
,
&
c
,
c
+
1
));
return
true
;
EOF