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