Skip to content

[intro.races] p17 Define the meaing of the "atomic" #1010

Description

@xmh0511

Full name of submitter (unless configured in github; will be published with the issue): Jim X

[intro.races] p17 states

Two actions are potentially concurrent if

  • [...]

The execution of a program contains a data race if it contains two potentially concurrent conflicting actions, at least one of which is not atomic, and neither happens before the other, except for the special case for signal handlers described below.

What do the atomic actions intend to mean here? Does it only refer to these operations defined for atomic<T>? Or does it refer to these operations that are semantically specified as atomic operations? For example, [thread.mutex.requirements.mutex.general] p4 states:

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 ([intro.multithread]).

"behave as atomic operations" sounds like these operations are semantically specified as atomic operations. Furthermore, are the atomic operations referred to in [intro.races] p17 admit these operations, where the implementation defines them as atomic operations since their semantics are implementation-defined?

Suggested Resolution:

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions