Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r83902 - trunk/boost/thread
From: vicente.botet_at_[hidden]
Date: 2013-04-14 16:31:40


Author: viboes
Date: 2013-04-14 16:31:40 EDT (Sun, 14 Apr 2013)
New Revision: 83902
URL: http://svn.boost.org/trac/boost/changeset/83902

Log:
Thread: remove noexcept on operations that can unlock the mutex.
Text files modified:
   trunk/boost/thread/lock_types.hpp | 15 ++++++++++-----
   1 files changed, 10 insertions(+), 5 deletions(-)

Modified: trunk/boost/thread/lock_types.hpp
==============================================================================
--- trunk/boost/thread/lock_types.hpp (original)
+++ trunk/boost/thread/lock_types.hpp 2013-04-14 16:31:40 EDT (Sun, 14 Apr 2013)
@@ -174,7 +174,8 @@
     BOOST_THREAD_EXPLICIT_LOCK_CONVERSION unique_lock(BOOST_THREAD_RV_REF_BEG upgrade_lock<Mutex> BOOST_THREAD_RV_REF_END other);
 
 #ifndef BOOST_THREAD_PROVIDES_EXPLICIT_LOCK_CONVERSION
- unique_lock& operator=(BOOST_THREAD_RV_REF_BEG upgrade_lock<Mutex> BOOST_THREAD_RV_REF_END other) BOOST_NOEXCEPT
+ //std-2104 unique_lock move-assignment should not be noexcept
+ unique_lock& operator=(BOOST_THREAD_RV_REF_BEG upgrade_lock<Mutex> BOOST_THREAD_RV_REF_END other) //BOOST_NOEXCEPT
     {
       unique_lock temp(::boost::move(other));
       swap(temp);
@@ -182,7 +183,8 @@
     }
 #endif
 
- unique_lock& operator=(BOOST_THREAD_RV_REF(unique_lock) other) BOOST_NOEXCEPT
+ //std-2104 unique_lock move-assignment should not be noexcept
+ unique_lock& operator=(BOOST_THREAD_RV_REF(unique_lock) other) //BOOST_NOEXCEPT
     {
       unique_lock temp(::boost::move(other));
       swap(temp);
@@ -581,7 +583,8 @@
       BOOST_THREAD_RV(other).m=0;
     }
 
- shared_lock& operator=(BOOST_THREAD_RV_REF_BEG shared_lock<Mutex> BOOST_THREAD_RV_REF_END other) BOOST_NOEXCEPT
+ //std-2104 unique_lock move-assignment should not be noexcept
+ shared_lock& operator=(BOOST_THREAD_RV_REF_BEG shared_lock<Mutex> BOOST_THREAD_RV_REF_END other) //BOOST_NOEXCEPT
     {
       shared_lock temp(::boost::move(other));
       swap(temp);
@@ -826,7 +829,8 @@
       BOOST_THREAD_RV(other).m=0;
     }
 
- upgrade_lock& operator=(BOOST_THREAD_RV_REF_BEG upgrade_lock<Mutex> BOOST_THREAD_RV_REF_END other) BOOST_NOEXCEPT
+ //std-2104 unique_lock move-assignment should not be noexcept
+ upgrade_lock& operator=(BOOST_THREAD_RV_REF_BEG upgrade_lock<Mutex> BOOST_THREAD_RV_REF_END other) //BOOST_NOEXCEPT
     {
       upgrade_lock temp(::boost::move(other));
       swap(temp);
@@ -1073,7 +1077,8 @@
       BOOST_THREAD_RV(other).source=0;
     }
 
- upgrade_to_unique_lock& operator=(BOOST_THREAD_RV_REF_BEG upgrade_to_unique_lock<Mutex> BOOST_THREAD_RV_REF_END other) BOOST_NOEXCEPT
+ //std-2104 unique_lock move-assignment should not be noexcept
+ upgrade_to_unique_lock& operator=(BOOST_THREAD_RV_REF_BEG upgrade_to_unique_lock<Mutex> BOOST_THREAD_RV_REF_END other) //BOOST_NOEXCEPT
     {
       upgrade_to_unique_lock temp(other);
       swap(temp);


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