This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++11 status.
Section: 33.6.4 [thread.mutex.requirements] Status: C++11 Submitter: Pete Becker Opened: 2009-01-07 Last modified: 2016-01-28
Priority: Not Prioritized
View other active issues in [thread.mutex.requirements].
View all other issues in [thread.mutex.requirements].
View all issues with C++11 status.
Discussion:
33.6.4 [thread.mutex.requirements]: paragraph 4 is entitled "Error conditions", but according to 16.3.2.4 [structure.specifications], "Error conditions:" specifies "the error conditions for error codes reported by the function." It's not clear what this should mean when there is no function in sight.
[ Summit: ]
Move to open.
[ Beman provided proposed wording. ]
[ 2009-10 Santa Cruz: ]
Move to Ready. Fix the proposed wording with "functions of type Mutex" -> "functions of Mutex type"
Proposed resolution:
Change 33.6.4 [thread.mutex.requirements] Mutex requirements, paragraph 4 as indicated:
-4-
Error conditions:The error conditions for error codes, if any, reported by member functions of Mutex type shall be:
- not_enough_memory — if there is not enough memory to construct the mutex object.
- resource_unavailable_try_again — if any native handle type manipulated is not available.
- operation_not_permitted — if the thread does not have the necessary permission to change the state of the mutex object.
- device_or_resource_busy — if any native handle type manipulated is already locked.
- invalid_argument — if any native handle type manipulated as part of mutex construction is incorrect.