LWG 2135: terminate() in condition_variable::wait()

* include/std/condition_variable (condition_variable::wait): Add
	noexcept.
	* src/c++11/condition_variable.cc (condition_variable::wait): Call
	std::terminate on error (DR 2135).

From-SVN: r228217
This commit is contained in:
Jonathan Wakely 2015-09-28 19:44:40 +01:00 committed by Jonathan Wakely
parent 7009b073c5
commit 80400b0477
3 changed files with 10 additions and 3 deletions

View file

@ -1,3 +1,10 @@
2015-09-28 Jonathan Wakely <jwakely@redhat.com>
* include/std/condition_variable (condition_variable::wait): Add
noexcept.
* src/c++11/condition_variable.cc (condition_variable::wait): Call
std::terminate on error (DR 2135).
2015-09-25 Ville Voutilainen <ville.voutilainen@gmail.com>
Avoid creating dangling references in case of nested tuples

View file

@ -89,7 +89,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
notify_all() noexcept;
void
wait(unique_lock<mutex>& __lock);
wait(unique_lock<mutex>& __lock) noexcept;
template<typename _Predicate>
void

View file

@ -48,12 +48,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}
void
condition_variable::wait(unique_lock<mutex>& __lock)
condition_variable::wait(unique_lock<mutex>& __lock) noexcept
{
int __e = __gthread_cond_wait(&_M_cond, __lock.mutex()->native_handle());
if (__e)
__throw_system_error(__e);
std::terminate();
}
void