It doesn't do anything that would actually guarantee that the fetch from
memory would be atomic as far as I can see, at least in the x86 version.
The C standard has nothing to say about atomicity w.r.t. multithreading or
multiprocessing. Is this a gcc compiler thing? If so, does gcc guarantee
that it will fetch aligned ints with a single instruction on all platforms
or just x86? And what's with volatile since if the C standard implies
nothing about multithreading then it follows that volatile has no meaning
with respect to multithreading either? Also a gcc thing? Are volatile
semantics well defined enough that you can use it to make the compiler
synchronize memory state as far as it is concerned?
Joe Seigh