1 cat <<EOF 1 cat <<EOF 2 ${int} c = raw_${atomic}_read(v); 2 ${int} c = raw_${atomic}_read(v); 3 3 4 do { 4 do { 5 if (unlikely(c > 0)) 5 if (unlikely(c > 0)) 6 return false; 6 return false; 7 } while (!raw_${atomic}_try_cmpxchg(v, 7 } while (!raw_${atomic}_try_cmpxchg(v, &c, c - 1)); 8 8 9 return true; 9 return true; 10 EOF 10 EOF
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.