Created on 2010-08-10.00:00:00 last changed 96 months ago
[Voted into the WP at the November, 2010 meeting as part of paper N3196.]
Proposed resolution (August, 2010):
Change 6.9.2 [intro.multithread] paragraph 9 as follows:
An evaluation A is dependency-ordered before an evaluation B if
A performs a release operation on an atomic object M, and B performs a consume operation on M and reads a value written by any side effect in the release sequence headed by A, or
for some evaluation X, A is dependency-ordered before X and X carries a dependency to B.
The current draft has release/acquire synchronize-with edges only between a release on one thread and an acquire on a different thread, whereas the definition of dependency-ordered-before permits the release and consume to be on the same thread; it seems odd to permit the latter. (At the moment function arguments can't race or sync with each other, but they can be dependency ordered before each other.)
We don't currently have an example in which this makes a real difference, but for symmetry could suggest changing the definition of dependency-ordered-before in 6.9.2 [intro.multithread].
|2014-03-03 00:00:00||admin||set||status: fdis -> c++11|
|2011-04-10 00:00:00||admin||set||messages: + msg3283|
|2011-04-10 00:00:00||admin||set||status: review -> fdis|
|2010-10-18 00:00:00||admin||set||messages: + msg3000|