Skip to content

[intro.multithread] add 'std' to standard library names #1003

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 17, 2016
Merged
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
15 changes: 7 additions & 8 deletions source/intro.tex
Original file line number Diff line number Diff line change
Expand Up @@ -787,9 +787,9 @@
\indextext{behavior!on receipt of signal}%
\indextext{signal}%
\pnum
If a signal handler is executed as a result of a call to the \tcode{raise}
If a signal handler is executed as a result of a call to the \tcode{std::raise}
function, then the execution of the handler is sequenced after the invocation
of the \tcode{raise} function and before its return.
of the \tcode{std::raise} function and before its return.
\begin{note} When a signal is received for another reason, the execution of the
signal handler is usually unsequenced with respect to the rest of the program.
\end{note}
Expand Down Expand Up @@ -1071,10 +1071,9 @@
have more than one thread of execution.

\pnum
A signal handler that is executed as a result of a call to the \tcode{raise}
function belongs to the same thread of execution as the call to the
\tcode{raise} function. Otherwise it is unspecified which thread of execution
contains a signal handler invocation.
For a signal handler that is not executed as a result of a call to the
\tcode{std::raise} function, it is unspecified which thread of execution
contains the signal handler invocation.

\rSec2[intro.races]{Data races}

Expand Down Expand Up @@ -1387,13 +1386,13 @@
differently as a result must perform an undefined operation. \end{note}

\pnum
Two accesses to the same object of type \tcode{volatile sig_atomic_t} do not
Two accesses to the same object of type \tcode{volatile std::sig_atomic_t} do not
result in a data race if both occur in the same thread, even if one or more
occurs in a signal handler. For each signal handler invocation, evaluations
performed by the thread invoking a signal handler can be divided into two
groups \placeholder{A} and \placeholder{B}, such that no evaluations in
\placeholder{B} happen before evaluations in \placeholder{A}, and the
evaluations of such \tcode{volatile sig_atomic_t} objects take values as though
evaluations of such \tcode{volatile std::sig_atomic_t} objects take values as though
all evaluations in \placeholder{A} happened before the execution of the signal
handler and the execution of the signal handler happened before all evaluations
in \placeholder{B}.
Expand Down