11 lines
164 B
Plaintext
11 lines
164 B
Plaintext
|
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
|