From 0d3f4a0b7cde936defbaf39201908cd61fa2bbc2 Mon Sep 17 00:00:00 2001 From: Anthony Williams Date: Tue, 13 Jun 2006 21:08:02 +0000 Subject: [PATCH] recursive_try_mutex has both a scoped_lock and a scoped_try_lock [SVN r34297] --- include/boost/thread/win32/recursive_mutex.hpp | 8 ++++++++ test/test_lock_concept.cpp | 2 ++ 2 files changed, 10 insertions(+) diff --git a/include/boost/thread/win32/recursive_mutex.hpp b/include/boost/thread/win32/recursive_mutex.hpp index dea19dc1..5dff4be4 100644 --- a/include/boost/thread/win32/recursive_mutex.hpp +++ b/include/boost/thread/win32/recursive_mutex.hpp @@ -128,6 +128,10 @@ namespace boost void lock() { + if(locked()) + { + throw boost::lock_error(); + } m.lock(); is_locked=true; } @@ -138,6 +142,10 @@ namespace boost } void unlock() { + if(!locked()) + { + throw boost::lock_error(); + } m.unlock(); is_locked=false; } diff --git a/test/test_lock_concept.cpp b/test/test_lock_concept.cpp index 7b8415ee..0f2f0298 100644 --- a/test/test_lock_concept.cpp +++ b/test/test_lock_concept.cpp @@ -135,8 +135,10 @@ boost::unit_test_framework::test_suite* init_unit_test_suite(int, char*[]) add_tests_for_scoped_lock_concept(test); add_tests_for_scoped_lock_concept(test); add_tests_for_scoped_lock_concept(test); + add_tests_for_scoped_lock_concept(test); add_tests_for_scoped_try_lock_concept(test); + add_tests_for_scoped_try_lock_concept(test); return test; }