This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++14 status.

2092. Vague Wording for condition_variable_any

Section: 32.7.5 [thread.condition.condvarany] Status: C++14 Submitter: Pete Becker Opened: 2011-10-20 Last modified: 2016-01-28

Priority: Not Prioritized

View all other issues in [thread.condition.condvarany].

View all issues with C++14 status.

Discussion:

32.7.5 [thread.condition.condvarany]/4 says, in part, that condition_variable_any() throws an exception "if any native handle type manipulated is not available".

I don't know what that means. Is this intended to say something different from the analogous words for condition_variable() [32.7.4 [thread.condition.condvar]/4], "if some non-memory resource limitation prevents initialization"? If not, it should be worded the same way.

[2012, Kona]

Copy the corresponding wording from the condition_variable constructor in 32.7.4 [thread.condition.condvar] p4.

Move to Review.

[2012, Portland]

Concurrency move to Ready.

[2013-04-20 Bristol]

Proposed resolution:

This wording is relative to N3337.

  1. Change 32.6.4.3 [thread.timedmutex.requirements]/4 as indicated:

    condition_variable_any();
    

    […]

    -4- Error conditions:

    • resource_unavailable_try_againif any native handle type manipulated is not available if some non-memory resource limitation prevents initialization.
    • operation_not_permitted — if the thread does not have the privilege to perform the operation.