From: John Maddock (john_at_[hidden])
Date: 2004-09-20 04:59:20


> I'm interested in getting something like "needs_lock" below into the
> normal traits, perhaps as part of boost thread. It informs you
> whether of not an operation on such a contiguous block needs a lock to
> be atomic.
>
> For example, on ia32 32 bit aligned ops are atomic, on ia64 it is 64
> bit. doubles on ia32 need locking to be atomic, on ia64 they don't.
> sizeof(void*) works generically for these two platforms as is included
> in the code below. A default, safety first implementation might
> return true always for needs lock, or perhaps, true for all sizeof's
> greater than a byte.

Is it the case that we could actually rely on this? I thought for example
that on IA32 operations were only atomic and thread safe when the assembly
is prefixed by LOCK?

John.