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: 33.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:

33.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()` [33.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 33.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 33.6.4.3 [thread.timedmutex.requirements]/4 as indicated:

   >     condition_variable_any();

   > > […]

   > > -4- Error conditions:
   > > - `resource_unavailable_try_again` — if 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.