Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions source/basic.tex
Original file line number Diff line number Diff line change
Expand Up @@ -6201,11 +6201,11 @@

\pnum
All modifications to a particular atomic object $M$ occur in some
particular total order, called the \defn{modification order} of $M$.
particular strict total order, called the \defn{modification order} of $M$.
\begin{note}
There is a separate order for each
atomic object. There is no requirement that these can be combined into a single
total order for all objects. In general this will be impossible since different
strict total order for all objects. In general this will be impossible since different
threads can observe modifications to different objects in inconsistent orders.
\end{note}

Expand All @@ -6231,7 +6231,7 @@
The
specifications of the synchronization operations define when one reads the value
written by another. For atomic objects, the definition is clear. All operations
on a given mutex occur in a single total order. Each mutex acquisition ``reads
on a given mutex occur in a single strict total order. Each mutex acquisition ``reads
the value written'' by the last mutex release.
\end{note}

Expand Down
12 changes: 6 additions & 6 deletions source/threads.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1572,7 +1572,7 @@
\begin{itemdescr}
\pnum
Let $P(\tcode{x}, \tcode{y})$ be
an unspecified total ordering over \tcode{thread::id}
an unspecified strict total ordering over \tcode{thread::id}
as described in \ref{alg.sorting}.

\pnum
Expand Down Expand Up @@ -2858,7 +2858,7 @@
\end{itemize}

\pnum
There is a single total order $S$
There is a single strict total order $S$
on all \tcode{memory_order::seq_cst} operations, including fences,
that satisfies the following constraints.
First, if $A$ and $B$ are
Expand Down Expand Up @@ -6550,7 +6550,7 @@
The implementation provides lock and unlock operations, as described below.
For purposes of determining the existence of a data race, these behave as
atomic operations\iref{intro.multithread}. The lock and unlock operations on
a single mutex appears to occur in a single total order.
a single mutex appears to occur in a single strict total order.
\begin{note}
This
can be viewed as the modification order\iref{intro.multithread} of the
Expand Down Expand Up @@ -8645,9 +8645,9 @@

\pnum
\sync
For any given \tcode{once_flag}: all active executions occur in a total
For any given \tcode{once_flag}: all active executions occur in a strict total
order; completion of an active execution synchronizes with\iref{intro.multithread}
the start of the next one in this total order; and the returning execution
the start of the next one in this strict total order; and the returning execution
synchronizes with the return from all passive executions.

\pnum
Expand Down Expand Up @@ -8718,7 +8718,7 @@
\pnum
The implementation behaves as if all executions of \tcode{notify_one}, \tcode{notify_all}, and each
part of the \tcode{wait}, \tcode{wait_for}, and \tcode{wait_until} executions are
executed in a single unspecified total order consistent with the ``happens before'' order.
executed in a single unspecified strict total order consistent with the ``happens before'' order.

\pnum
Condition variable construction and destruction need not be synchronized.
Expand Down
Loading