Implement LWG issue #2135. If something goes wrong in condition_variable::wait, call terminate() rather than throwing an error. Do this indirectly, by marking the call as 'noexcept'. This is better than just calling terminate() directly, because it gives a better error message on the console. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@204778 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/src/condition_variable.cpp b/src/condition_variable.cpp index de0f6f4..061d138 100644 --- a/src/condition_variable.cpp +++ b/src/condition_variable.cpp
@@ -32,7 +32,7 @@ } void -condition_variable::wait(unique_lock<mutex>& lk) +condition_variable::wait(unique_lock<mutex>& lk) _NOEXCEPT { if (!lk.owns_lock()) __throw_system_error(EPERM, @@ -44,7 +44,7 @@ void condition_variable::__do_timed_wait(unique_lock<mutex>& lk, - chrono::time_point<chrono::system_clock, chrono::nanoseconds> tp) + chrono::time_point<chrono::system_clock, chrono::nanoseconds> tp) _NOEXCEPT { using namespace chrono; if (!lk.owns_lock())