1499. Condition variables preclude wakeup optimization

Section: 32.7 [thread.condition] Status: NAD Submitter: INCITS Opened: 2010-08-25 Last modified: 2019-02-26

Priority: Not Prioritized

View all other issues in [thread.condition].

View all issues with NAD status.

Discussion:

Addresses US-193

Condition variables preclude a wakeup optimization.

[ Resolution proposed by ballot comment: ]

Change condition_variable to allow such optimization. See Appendix 1 - Additional Details

[ 2010 Batavia ]

The Concurrency subgroup reviewed the issue, and deemed it an extension to be handled after C++0x.

Rationale:

The LWG does not wish to make the change at this time.

[LEWG Kona 2017]

Recommend NAD: (N4618 numbering) 30.5.1[thread.condition.condvar] p10.3 allows spurious wakeups. This issue is out of date.

[2017-03-01, Kona]

SG1 recommends: Close as NAD

The approach suggested there raises all sorts of issues about thread_locals, etc. It's probably way too late to change this anyway, but this would have required a careful paper.

Proposed resolution: