Definition of release sequence
6.9.2 [intro.multithread]

Created on 2010-08-10.00:00:00 last changed 96 months ago


Date: 2010-11-15.00:00:00

[Voted into the WP at the November, 2010 meeting as part of paper N3196.]

Date: 2010-08-15.00:00:00

Proposed resolution (August, 2010):

Change 6.9.2 [intro.multithread] paragraph 6 as follows:

A release sequence from a release operation A 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 A, and every subsequent operation

  • is performed by the same thread that performed the release, or

  • is an atomic read-modify-write operation.

Date: 2010-08-10.00:00:00
N3092 comment CA 12
N3092 comment GB 9

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

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].

Date User Action Args
2014-03-03 00:00:00adminsetstatus: fdis -> c++11
2011-04-10 00:00:00adminsetmessages: + msg3282
2011-04-10 00:00:00adminsetstatus: review -> fdis
2010-10-18 00:00:00adminsetmessages: + msg2998
2010-08-10 00:00:00admincreate