Title
Various threading bugs #17
Status
c++11
Section
[thread.thread.constr]
Submitter
Pete Becker

Created on 2009-01-07.00:00:00 last changed 144 months ago

Messages

Date: 2013-01-25.00:32:44

Proposed resolution:

Change Mutex requirements [thread.mutex.requirements], paragraph 4, as indicated:

Error conditions:

  • 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.

Change Class condition_variable [thread.condition.condvar], default constructor, as indicated:

condition_variable();

Effects: Constructs an object of type condition_variable.

Throws: std::system_error when an exception is required ([thread.req.exception]).

Error conditions:

  • not_enough_memory — if a memory limitation prevents initialization.
  • resource_unavailable_try_again — if some non-memory resource limitation prevents initialization.
  • device_or_resource_busy — if attempting to initialize a previously-initialized but as of yet undestroyed condition_variable.
Date: 2013-01-25.00:32:44

[ 2009-10 Santa Cruz: ]

Move to Ready.

Date: 2009-09-25.00:00:00

[ 2009-09-25 Beman provided proposed wording. ]

The proposed resolution assumes 962 has been accepted and its proposed resolution applied to the working paper.

Date: 2013-01-25.00:32:44

[ Beman has volunteered to provide proposed wording. ]

Date: 2009-01-07.00:00:00

the error handling for the constructor for condition_variable distinguishes lack of memory from lack of other resources, but the error handling for the thread constructor does not. Is this difference intentional?

History
Date User Action Args
2013-01-25 00:32:44adminsetmessages: + msg6355
2013-01-25 00:32:44adminsetmessages: + msg6354
2013-01-25 00:32:44adminsetmessages: + msg6353
2013-01-25 00:32:44adminsetmessages: + msg6352
2009-01-07 00:00:00admincreate