how to cast away 'volatile'?

Matthew Woehlke
Tue Mar 13 19:30:00 GMT 2007

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. understanding is that is exactly what 'fence' is for. (Although I 
have yet to meet a processor that doesn't SIGILL when I try to use it 
:-). So I stick with e.g. 'lock or 0,%sp'...)

HIPPOS feel unacknowledged. HIPPOS get angry.
HIPPOS seem somewhat placated.

More information about the Gcc-help mailing list