OK, I haven't been programming much lately, but
when did I miss atomic_t
becoming a part of any C standard? 
its not. its a type derived from the kernel headers, which also
defines some basic operations on them. for most common architectures,
they resolve to integer read/write.
 Also, several people have referred to the atomicity of
int/pointer
read/write.  This is news to me - can someone point me at the spec for this? 
its an architecture-specific issue. its not true on SPARCs and on some
NUMA systems. it has nothing to do with a language per se.
--p