12 lines
176 B
Plaintext
Raw Normal View History

2026-01-21 18:59:54 +08:00
cat <<EOF
2026-01-29 22:25:33 +08:00
${int} dec, c = raw_${atomic}_read(v);
2026-01-21 18:59:54 +08:00
do {
dec = c - 1;
if (unlikely(dec < 0))
break;
2026-01-29 22:25:33 +08:00
} while (!raw_${atomic}_try_cmpxchg(v, &c, dec));
2026-01-21 18:59:54 +08:00
return dec;
EOF