|
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