From 2954e932ce6428613849c3cdc0a6218747d3ee49 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Mon, 11 Jul 2005 15:06:09 +0000 Subject: [PATCH] Fix test_read_write_mutex, from Tobias Schwinger [SVN r29988] --- include/boost/thread/read_write_mutex.hpp | 3 +++ src/once.cpp | 6 ++++++ src/read_write_mutex.cpp | 4 ++++ 3 files changed, 13 insertions(+) diff --git a/include/boost/thread/read_write_mutex.hpp b/include/boost/thread/read_write_mutex.hpp index 0f369a63..5903a1a7 100644 --- a/include/boost/thread/read_write_mutex.hpp +++ b/include/boost/thread/read_write_mutex.hpp @@ -19,6 +19,7 @@ #include #include +#include #include #include @@ -52,7 +53,9 @@ struct read_write_mutex_impl typedef detail::thread::scoped_timed_lock scoped_timed_lock; read_write_mutex_impl(read_write_scheduling_policy::read_write_scheduling_policy_enum sp); +#if !BOOST_WORKAROUND(__BORLANDC__,<= 0x564) ~read_write_mutex_impl(); +#endif Mutex m_prot; diff --git a/src/once.cpp b/src/once.cpp index 60394a7e..67fcf9a9 100644 --- a/src/once.cpp +++ b/src/once.cpp @@ -11,11 +11,17 @@ #include +#include + #include #include #include + #if defined(BOOST_HAS_WINTHREADS) +# if BOOST_WORKAROUND(__BORLANDC__,<= 0x551) + using std::size_t; +# endif # include # if defined(BOOST_NO_STRINGSTREAM) # include diff --git a/src/read_write_mutex.cpp b/src/read_write_mutex.cpp index fa1aef14..b723f9dd 100644 --- a/src/read_write_mutex.cpp +++ b/src/read_write_mutex.cpp @@ -27,6 +27,8 @@ bad things happen. #include #include +#include + #if !defined(BOOST_NO_STRINGSTREAM) # include #endif @@ -376,6 +378,7 @@ read_write_mutex_impl::read_write_mutex_impl(read_write_scheduling_policy , m_readers_next(true) {} +#if !BOOST_WORKAROUND(__BORLANDC__, <= 0x564) template read_write_mutex_impl::~read_write_mutex_impl() { @@ -390,6 +393,7 @@ read_write_mutex_impl::~read_write_mutex_impl() BOOST_ASSERT(m_num_waking_readers == 0); BOOST_ASSERT(m_num_max_waking_readers == 0); } +#endif template void read_write_mutex_impl::do_read_lock()