On Sat, 18 Dec 2004 11:23:37 -0500
"Joseph Seigh" <jseigh_02@xxxxxxxxxx> wrote:
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?
http://www.gnu.org/software/libc/manual/html_node/Atomic-Data-Access.html#Atomic%20Data%20Access
http://www.gnu.org/software/libc/manual/html_node/Atomic-Types.html#Atomic%20Types
http://gcc.gnu.org/onlinedocs/gcc/Volatiles.html