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 6 as follows:
A release sequence on an atomic object M is a maximal contiguous sub-sequence of side effects in the modification order of M, where the first operation is
a release, and every subsequent operation
is performed by the same thread that performed the release, or
is an atomic read-modify-write operation.
The current wording of the standard suggests that release sequences are maximal with respect to sequence inclusion, i.e. that if there are two release operations in the modification order,
mod mod rel1----->rel2----->w
then [rel1;rel2;w] is the only release sequence, as the other candidate [rel2;w] is included in it. This interpretation precludes synchronizing with releases which have other releases sequenced-before them. We believe that the intention is actually to define the maximal release sequence from a particular release operation, which would admit both [rel1;rel2;w] and [rel2;w].
|2014-03-03 00:00:00||admin||set||status: fdis -> c++11|
|2011-04-10 00:00:00||admin||set||messages: + msg3282|
|2011-04-10 00:00:00||admin||set||status: review -> fdis|
|2010-10-18 00:00:00||admin||set||messages: + msg2998|