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