On Sat, 1 Oct 2011, Andrew MacLeod wrote:



Ah ok, I had understood:
* if __atomic_store_8 is inlined on line 18, it should also be inlined on line 42

when instead it is:
* we can't have a locked addition and a lock-free subtraction (hence the __atomic_is_lock_free which only takes a size as argument)

Makes perfect sense, thank you for the precision.

I Added another line in the document to clarify this, thanks.


By the way, does it make sense to work atomically on a 16 byte object, and also work atomically on its first 8 bytes, thus potentially requiring __atomic_is_lock_free not to depend on the size?

not really... working on the first 8 bytes of the 16 byte atomic object 'breaks' the atomicity of the 16 byte object. Volatility of the object is the only thing that *may* impact this, AFAICT.

Andrew

Reply via email to