[cpp-threads] Slightly revised memory model proposal (D2300)

Alexander Terekhov alexander.terekhov at gmail.com
Tue Jun 5 20:12:56 BST 2007


On 6/5/07, Beman Dawes <bdawes at acm.org> wrote:
[...]
>  Are you saying that there should be an "interrupt data race" defined in
> addition to "inter-thread data race", and then "data race" defined as either
> an interrupt data race or an inter-thread data race?

An "interrupt data race" was first defined in the C standard:

If the signal occurs other than as the result of calling the abort or
raise function, the behavior is undefined if the signal handler refers
to any object with static storage duration other than by assigning a
value to an object declared as volatile sig_atomic_t

C++ (98) says:

When the processing of the abstract machine is interrupted by receipt
of a signal, the values of objects with type other than volatile
sig_atomic_t are unspecified, and the value of any object not of
volatile sig_atomic_t that is modified by the handler becomes
undefined.

regards,
alexander.



More information about the cpp-threads mailing list