Re: how to cast away 'volatile'?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Matthew Woehlke writes:
 > Andrew Haley wrote:
 > > 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.
 > 
 > On non-x86 processors I actually resort to pthread mutexes :-) (at least 
 > until/unless I have inline assembly implementations for those...)
 > 
 > So far no one has successfully answered my original question; how do I 
 > suppress these dang warnings? :-)

I did.  Maybe you didn't see it, or maybe you didn't like the
suggestion.

Andrew.

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux