commit 023e16117005d8ca7dbb0e2e61059b59d7cc0e40
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Mon Sep 28 17:47:35 2015 +0100
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).
@@ -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
@@ -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