Subject: Re: [boost] [lockfree] review
From: Alexander Terekhov (terekhov_at_[hidden])
Date: 2011-08-26 14:54:28


Dave Abrahams wrote:
>
> on Thu Aug 25 2011, Alexander Terekhov <terekhov-AT-web.de> wrote:
>
> > Ilya Sokolov wrote:
> >>
> >>
> >> AFAIK, in the example above another thread can't observe reordering
> >> without introducing UB.
> >
> > I meant "observed" as in "check the sequence of writes in the generated
> > code".
>
> Do we care about what the generated code looks like? IIUC what counts
> is the sequence of memory states that another another thread can see.
>
> > But int can be simply changed to relaxed atomic<int> so that another
> > thread can observe reordering without UB.
>
> Sure.

I meant that for the example upthread, with an int instead of relaxed
atomic<int>, another thread's code triggering UB does not prevent us
from observing reordered writes in the writing thread's code (in
generated code), by looking at it.

Changing int to relaxed atomic<int> simply removes UB but does not
change the relevant code in the writing thread.

regards,
alexander.