Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r80449 - in trunk/boost/thread: pthread win32
From: vicente.botet_at_[hidden]
Date: 2012-09-08 10:18:44


Author: viboes
Date: 2012-09-08 10:18:43 EDT (Sat, 08 Sep 2012)
New Revision: 80449
URL: http://svn.boost.org/trac/boost/changeset/80449

Log:
Thread: start adding noexcept to recursive_mutex::try_lock. Uncomment needed after checking on windows
Text files modified:
   trunk/boost/thread/pthread/recursive_mutex.hpp | 4 ++--
   trunk/boost/thread/win32/basic_recursive_mutex.hpp | 6 +++---
   trunk/boost/thread/win32/interlocked_read.hpp | 19 ++++++++++---------
   3 files changed, 15 insertions(+), 14 deletions(-)

Modified: trunk/boost/thread/pthread/recursive_mutex.hpp
==============================================================================
--- trunk/boost/thread/pthread/recursive_mutex.hpp (original)
+++ trunk/boost/thread/pthread/recursive_mutex.hpp 2012-09-08 10:18:43 EDT (Sat, 08 Sep 2012)
@@ -110,7 +110,7 @@
             BOOST_VERIFY(!pthread_mutex_unlock(&m));
         }
 
- bool try_lock()
+ bool try_lock() BOOST_NOEXCEPT
         {
             int const res=pthread_mutex_trylock(&m);
             BOOST_ASSERT(!res || res==EBUSY);
@@ -294,7 +294,7 @@
             BOOST_VERIFY(!pthread_cond_signal(&cond));
         }
 
- bool try_lock()
+ bool try_lock() BOOST_NOEXCEPT
         {
             boost::pthread::pthread_mutex_scoped_lock const local_lock(&m);
             if(is_locked && !pthread_equal(owner,pthread_self()))

Modified: trunk/boost/thread/win32/basic_recursive_mutex.hpp
==============================================================================
--- trunk/boost/thread/win32/basic_recursive_mutex.hpp (original)
+++ trunk/boost/thread/win32/basic_recursive_mutex.hpp 2012-09-08 10:18:43 EDT (Sat, 08 Sep 2012)
@@ -42,7 +42,7 @@
                 mutex.destroy();
             }
 
- bool try_lock()
+ bool try_lock() // BOOST_NOEXCEPT
             {
                 long const current_thread_id=win32::GetCurrentThreadId();
                 return try_recursive_lock(current_thread_id) || try_basic_lock(current_thread_id);
@@ -93,7 +93,7 @@
             }
 
         private:
- bool try_recursive_lock(long current_thread_id)
+ bool try_recursive_lock(long current_thread_id) // BOOST_NOEXCEPT
             {
                 if(::boost::detail::interlocked_read_acquire(&locking_thread_id)==current_thread_id)
                 {
@@ -103,7 +103,7 @@
                 return false;
             }
 
- bool try_basic_lock(long current_thread_id)
+ bool try_basic_lock(long current_thread_id) // BOOST_NOEXCEPT
             {
                 if(mutex.try_lock())
                 {

Modified: trunk/boost/thread/win32/interlocked_read.hpp
==============================================================================
--- trunk/boost/thread/win32/interlocked_read.hpp (original)
+++ trunk/boost/thread/win32/interlocked_read.hpp 2012-09-08 10:18:43 EDT (Sat, 08 Sep 2012)
@@ -3,13 +3,14 @@
 
 // interlocked_read_win32.hpp
 //
-// (C) Copyright 2005-8 Anthony Williams
+// (C) Copyright 2005-8 Anthony Williams
 //
 // Distributed under the Boost Software License, Version 1.0. (See
 // accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
 #include <boost/detail/interlocked.hpp>
+//#include <boost/thread/detail/config.hpp>
 
 #include <boost/config/abi_prefix.hpp>
 
@@ -22,25 +23,25 @@
 {
     namespace detail
     {
- inline long interlocked_read_acquire(long volatile* x)
+ inline long interlocked_read_acquire(long volatile* x) //BOOST_NOEXCEPT
         {
             long const res=*x;
             _ReadWriteBarrier();
             return res;
         }
- inline void* interlocked_read_acquire(void* volatile* x)
+ inline void* interlocked_read_acquire(void* volatile* x) //BOOST_NOEXCEPT
         {
             void* const res=*x;
             _ReadWriteBarrier();
             return res;
         }
 
- inline void interlocked_write_release(long volatile* x,long value)
+ inline void interlocked_write_release(long volatile* x,long value) //BOOST_NOEXCEPT
         {
             _ReadWriteBarrier();
             *x=value;
         }
- inline void interlocked_write_release(void* volatile* x,void* value)
+ inline void interlocked_write_release(void* volatile* x,void* value) //BOOST_NOEXCEPT
         {
             _ReadWriteBarrier();
             *x=value;
@@ -54,19 +55,19 @@
 {
     namespace detail
     {
- inline long interlocked_read_acquire(long volatile* x)
+ inline long interlocked_read_acquire(long volatile* x) //BOOST_NOEXCEPT
         {
             return BOOST_INTERLOCKED_COMPARE_EXCHANGE(x,0,0);
         }
- inline void* interlocked_read_acquire(void* volatile* x)
+ inline void* interlocked_read_acquire(void* volatile* x) //BOOST_NOEXCEPT
         {
             return BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(x,0,0);
         }
- inline void interlocked_write_release(long volatile* x,long value)
+ inline void interlocked_write_release(long volatile* x,long value) //BOOST_NOEXCEPT
         {
             BOOST_INTERLOCKED_EXCHANGE(x,value);
         }
- inline void interlocked_write_release(void* volatile* x,void* value)
+ inline void interlocked_write_release(void* volatile* x,void* value) //BOOST_NOEXCEPT
         {
             BOOST_INTERLOCKED_EXCHANGE_POINTER(x,value);
         }


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