Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r84750 - in branches/release/boost/thread: . detail win32
From: vicente.botet_at_[hidden]
Date: 2013-06-12 16:54:45


Author: viboes
Date: 2013-06-12 16:54:44 EDT (Wed, 12 Jun 2013)
New Revision: 84750
URL: http://svn.boost.org/trac/boost/changeset/84750

Log:
Thread: merge fixes for #8422, #8458, #8674.

Properties modified:
   branches/release/boost/thread/ (props changed)
Text files modified:
   branches/release/boost/thread/detail/config.hpp | 5 +++++
   branches/release/boost/thread/detail/delete.hpp | 12 ++++++++++++
   branches/release/boost/thread/win32/basic_timed_mutex.hpp | 6 ++++--
   branches/release/boost/thread/win32/thread_primitives.hpp | 3 +++
   4 files changed, 24 insertions(+), 2 deletions(-)

Modified: branches/release/boost/thread/detail/config.hpp
==============================================================================
--- branches/release/boost/thread/detail/config.hpp Wed Jun 12 07:38:56 2013 (r84749)
+++ branches/release/boost/thread/detail/config.hpp 2013-06-12 16:54:44 EDT (Wed, 12 Jun 2013) (r84750)
@@ -318,6 +318,11 @@
 #define BOOST_THREAD_USES_DATETIME
 #endif
 
+#if defined(BOOST_THREAD_PLATFORM_WIN32) && defined BOOST_THREAD_DONT_USE_CHRONO
+#undef BOOST_THREAD_DONT_USE_CHRONO
+#define BOOST_THREAD_USES_CHRONO
+#endif
+
 // BOOST_THREAD_PROVIDES_DEPRECATED_FEATURES_SINCE_V3_0_0 defined by default up to Boost 1.55
 // BOOST_THREAD_DONT_PROVIDE_DEPRECATED_FEATURES_SINCE_V3_0_0 defined by default up to Boost 1.55
 #if defined BOOST_THREAD_PROVIDES_DEPRECATED_FEATURES_SINCE_V3_0_0

Modified: branches/release/boost/thread/detail/delete.hpp
==============================================================================
--- branches/release/boost/thread/detail/delete.hpp Wed Jun 12 07:38:56 2013 (r84749)
+++ branches/release/boost/thread/detail/delete.hpp 2013-06-12 16:54:44 EDT (Wed, 12 Jun 2013) (r84750)
@@ -23,6 +23,17 @@
       CLASS& operator=(CLASS const&) = delete;
 
 #else // BOOST_NO_CXX11_DELETED_FUNCTIONS
+#if defined(BOOST_MSVC)
+#define BOOST_THREAD_DELETE_COPY_CTOR(CLASS) \
+ private: \
+ CLASS(CLASS const&); \
+ public:
+
+#define BOOST_THREAD_DELETE_COPY_ASSIGN(CLASS) \
+ private: \
+ CLASS& operator=(CLASS const&); \
+ public:
+#else
 #define BOOST_THREAD_DELETE_COPY_CTOR(CLASS) \
     private: \
       CLASS(CLASS&); \
@@ -32,6 +43,7 @@
     private: \
       CLASS& operator=(CLASS&); \
     public:
+#endif
 #endif // BOOST_NO_CXX11_DELETED_FUNCTIONS
 
 /**

Modified: branches/release/boost/thread/win32/basic_timed_mutex.hpp
==============================================================================
--- branches/release/boost/thread/win32/basic_timed_mutex.hpp Wed Jun 12 07:38:56 2013 (r84749)
+++ branches/release/boost/thread/win32/basic_timed_mutex.hpp 2013-06-12 16:54:44 EDT (Wed, 12 Jun 2013) (r84750)
@@ -81,8 +81,10 @@
 
                     do
                     {
- BOOST_VERIFY(win32::WaitForSingleObject(
- sem,::boost::detail::win32::infinite)==0);
+ unsigned const retval(win32::WaitForSingleObject(sem, ::boost::detail::win32::infinite));
+ BOOST_VERIFY(0 == retval || ::boost::detail::win32::wait_abandoned == retval);
+// BOOST_VERIFY(win32::WaitForSingleObject(
+// sem,::boost::detail::win32::infinite)==0);
                         clear_waiting_and_try_lock(old_count);
                         lock_acquired=!(old_count&lock_flag_value);
                     }

Modified: branches/release/boost/thread/win32/thread_primitives.hpp
==============================================================================
--- branches/release/boost/thread/win32/thread_primitives.hpp Wed Jun 12 07:38:56 2013 (r84749)
+++ branches/release/boost/thread/win32/thread_primitives.hpp 2013-06-12 16:54:44 EDT (Wed, 12 Jun 2013) (r84750)
@@ -44,6 +44,8 @@
             handle const invalid_handle_value=INVALID_HANDLE_VALUE;
             unsigned const event_modify_state=EVENT_MODIFY_STATE;
             unsigned const synchronize=SYNCHRONIZE;
+ unsigned const wait_abandoned=WAIT_ABANDONED;
+
 
 # ifdef BOOST_NO_ANSI_APIS
             using ::CreateMutexW;
@@ -127,6 +129,7 @@
             handle const invalid_handle_value=(handle)(-1);
             unsigned const event_modify_state=2;
             unsigned const synchronize=0x100000u;
+ unsigned const wait_abandoned=0x00000080u;
 
             extern "C"
             {


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk