This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: how to cast away 'volatile'?


Matthew Woehlke writes:
 > Andrew Haley wrote:
 > > Michael Eager writes:
 > >> It can also be used to share data between threads, but it becomes
 > >> problematic if accesses are not atomic.  It's reasonable to use a
 > >> shared volatile sig_atomic_t to communicate between threads, to say
 > >> "I'm done" or "Start processing". 
 > > 
 > > Is that really safe, though?  There's nothing to stop the machine from
 > > reordering memory writes, even if the compiler doesn't.
 > 
 > ...my understanding is that is exactly what 'fence' is for.

That's my understanding too.  Here, we're really talking about non-x86
processors which have much weaker ordering guarantees.

Andrew.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]