Does x86 have an atomic increment that keeps the value that was stored?
Question
I have found lock inc addr
but that doesn't keep a copy of the stored value around and even a read immediately after it in the same thread could come after a competing write.
The best solution I have found is a load
/inc
/cas
loop.
Solution
lock xadd
is your friend.
OTHER TIPS
see atomic_impl.h for more x86/x86_64 atomic primitives and usage.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow