|
Boost-Commit : |
From: matt_calabrese_at_[hidden]
Date: 2007-06-21 14:34:53
Author: matt_calabrese
Date: 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
New Revision: 7123
URL: http://svn.boost.org/trac/boost/changeset/7123
Log:
Added:
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_release.hpp
- copied, changed from r7120, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire.hpp
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_release_fwd.hpp
- copied, changed from r7120, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire_fwd.hpp
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_release_default
- copied, changed from r7120, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_release_windows
- copied, changed from r7120, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows
sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_release.cpp
- copied, changed from r7120, /sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_acquire.cpp
Removed:
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire.hpp
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire_fwd.hpp
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_result/
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows
sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_acquire.cpp
Text files modified:
sandbox/SOC/2006/concurrency/trunk/boost/act/consumer_policy/concurrent_consumer_policy/detail/concurrent_scoped_consumer_impl.hpp | 12 +-
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign.hpp | 2
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_release.hpp | 14 +-
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_release_fwd.hpp | 8
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_gcc_x86 | 14 +--
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_release_default | 6
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_release_windows | 16 +-
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_fwd.hpp | 2
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_gcc_x86 | 17 +--
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_default.hpp | 1
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_default_dont_include.hpp | 165 ++++++---------------------------------
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/integer/types.hpp | 4
sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve.hpp | 17 ---
sandbox/SOC/2006/concurrency/trunk/boost/act/queue_policy/bounded_queue_policy/queue.hpp | 15 ++-
sandbox/SOC/2006/concurrency/trunk/boost/act/queue_policy/bounded_queue_policy/safe_single_push_pop_queue.hpp | 5
sandbox/SOC/2006/concurrency/trunk/boost/act/worker_policy/thread_policy/detail/thread_manager.hpp | 2
sandbox/SOC/2006/concurrency/trunk/libs/act/test/Jamfile.v2 | 2
sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_release.cpp | 16 +-
sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign_retrieve_helper.hpp | 6
sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/integral_additive_helper.hpp | 3
sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/operation_result_checker.hpp | 2
21 files changed, 99 insertions(+), 230 deletions(-)
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/consumer_policy/concurrent_consumer_policy/detail/concurrent_scoped_consumer_impl.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/consumer_policy/concurrent_consumer_policy/detail/concurrent_scoped_consumer_impl.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/consumer_policy/concurrent_consumer_policy/detail/concurrent_scoped_consumer_impl.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -9,7 +9,7 @@
#ifndef BOOST_ACT_CONSUMER_POLICY_SCOPED_CONCURRENT_CONSUMER_DETAIL_SCOPED_C_HPP
#define BOOST_ACT_CONSUMER_POLICY_SCOPED_CONCURRENT_CONSUMER_DETAIL_SCOPED_C_HPP
-#include <boost/act/interlocked/assign/assign_acquire.hpp>
+#include <boost/act/interlocked/assign/assign.hpp>
#include <boost/act/interlocked/retrieve.hpp>
#include <boost/thread/thread.hpp>
@@ -198,9 +198,9 @@
~concurrent_scoped_consumer_nonvoid_impl()
{
- interlocked::assign_acquire( internal_data_m.is_triggered_to_close_m
- , true
- );
+ interlocked::assign( internal_data_m.is_triggered_to_close_m
+ , true
+ );
consumer_thread_m.join();
}
@@ -208,7 +208,7 @@
template< typename Type >
typename enable_if
<
- mpl::apply< constraint, Type >
+ typename mpl::apply< constraint, Type >::type
>
::type operator ()( Type& arg )
{
@@ -218,7 +218,7 @@
template< typename Type >
typename enable_if
<
- mpl::apply< constraint, Type const >
+ typename mpl::apply< constraint, Type const >::type
>
::type operator ()( Type const& arg )
{
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -10,6 +10,6 @@
#define BOOST_ACT_INTERLOCKED_ASSIGN_HPP
#include <boost/act/interlocked/assign/assign.hpp>
-#include <boost/act/interlocked/assign/assign_acquire.hpp>
+#include <boost/act/interlocked/assign/assign_release.hpp>
#endif
Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,81 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to 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)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_ACQUIRE_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_ACQUIRE_HPP
-
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/remove_volatile.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-
-#include <boost/act/interlocked/detail/cas_support.hpp>
-#include <boost/act/interlocked/integer/detail/interlocked_bool.hpp>
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-
-#include <boost/act/interlocked/detail/impl_meta.hpp>
-
-#include <boost/act/interlocked/detail/impl.hpp>
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_IMPL_INFO \
-( assign, acquire )
-
-#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_BEGIN()
-
-namespace boost { namespace act { namespace interlocked {
-
-template< typename TargetType, typename SourceType >
-typename lazy_enable_if
-<
- mpl::and_
- <
- detail::are_valid_assign_style_params< TargetType, SourceType const >
- , mpl::not_< detail::is_interlocked_bool< TargetType > >
- >
-, remove_cv< TargetType >
->
-::type
-assign_acquire( TargetType& destination, SourceType const& new_value )
-{
- return detail::impl_meta< detail::assign_acquire_impl, TargetType >
- ::execute( destination, new_value );
-
-}
-
-template< typename TargetType, typename SourceType >
-typename lazy_enable_if
-<
- mpl::and_
- <
- detail::are_valid_assign_style_params< TargetType, SourceType const >
- , detail::is_interlocked_bool< TargetType >
- >
-, remove_cv< TargetType >
->
-::type
-assign_acquire( TargetType& destination, SourceType const& new_value )
-{
- typedef typename remove_cv< TargetType >::type result_type;
-
- return result_type
- (
- interlocked::assign_acquire
- ( interlocked_bool_internal_value( destination )
- , static_cast< bool >( new_value )
- )
- != 0
- );
-}
-
-} } }
-
-#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_END()
-
-#endif
Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire_fwd.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire_fwd.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,51 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to 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)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_ACQUIRE_FWD_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_ACQUIRE_FWD_HPP
-
-#include <boost/utility/enable_if.hpp>
-
-#include <boost/act/interlocked/detail/cas_support.hpp>
-#include <boost/act/interlocked/integer/detail/interlocked_bool.hpp>
-
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-
-namespace boost { namespace act { namespace interlocked {
-
-template< typename TargetType, typename SourceType >
-typename lazy_enable_if
-<
- mpl::and_
- <
- detail::are_valid_assign_style_params< TargetType, SourceType const >
- , mpl::not_< detail::is_interlocked_bool< TargetType > >
- >
-, remove_cv< TargetType >
->
-::type
-assign_acquire( TargetType& destination, SourceType const& new_value );
-
-template< typename TargetType, typename SourceType >
-typename lazy_enable_if
-<
- mpl::and_
- <
- detail::are_valid_assign_style_params< TargetType, SourceType const >
- , detail::is_interlocked_bool< TargetType >
- >
-, remove_cv< TargetType >
->
-::type
-assign_acquire( TargetType& destination, SourceType const& new_value );
-
-} } }
-
-#endif
Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_release.hpp (from r7120, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire.hpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_release.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -6,8 +6,8 @@
http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_ACQUIRE_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_ACQUIRE_HPP
+#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_RELEASE_HPP
+#define BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_RELEASE_HPP
#include <boost/utility/enable_if.hpp>
#include <boost/type_traits/remove_volatile.hpp>
@@ -25,7 +25,7 @@
#include <boost/act/interlocked/detail/impl.hpp>
#define BOOST_ACT_INTERLOCKED_DETAIL_IMPL_INFO \
-( assign, acquire )
+( assign, release )
#include BOOST_ACT_INTERLOCKED_DETAIL_IMPL_BEGIN()
@@ -42,9 +42,9 @@
, remove_cv< TargetType >
>
::type
-assign_acquire( TargetType& destination, SourceType const& new_value )
+assign_release( TargetType& destination, SourceType const& new_value )
{
- return detail::impl_meta< detail::assign_acquire_impl, TargetType >
+ return detail::impl_meta< detail::assign_release_impl, TargetType >
::execute( destination, new_value );
}
@@ -60,13 +60,13 @@
, remove_cv< TargetType >
>
::type
-assign_acquire( TargetType& destination, SourceType const& new_value )
+assign_release( TargetType& destination, SourceType const& new_value )
{
typedef typename remove_cv< TargetType >::type result_type;
return result_type
(
- interlocked::assign_acquire
+ interlocked::assign_release
( interlocked_bool_internal_value( destination )
, static_cast< bool >( new_value )
)
Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_release_fwd.hpp (from r7120, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire_fwd.hpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_acquire_fwd.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/assign_release_fwd.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -6,8 +6,8 @@
http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_ACQUIRE_FWD_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_ACQUIRE_FWD_HPP
+#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_RELEASE_FWD_HPP
+#define BOOST_ACT_INTERLOCKED_ASSIGN_ASSIGN_RELEASE_FWD_HPP
#include <boost/utility/enable_if.hpp>
@@ -31,7 +31,7 @@
, remove_cv< TargetType >
>
::type
-assign_acquire( TargetType& destination, SourceType const& new_value );
+assign_release( TargetType& destination, SourceType const& new_value );
template< typename TargetType, typename SourceType >
typename lazy_enable_if
@@ -44,7 +44,7 @@
, remove_cv< TargetType >
>
::type
-assign_acquire( TargetType& destination, SourceType const& new_value );
+assign_release( TargetType& destination, SourceType const& new_value );
} } }
Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,30 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to 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)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_ACQUIRE_DEFAULT_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_ACQUIRE_DEFAULT_HPP
-
-#include <boost/act/interlocked/assign/assign.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-struct assign_acquire_default_impl
-{
- template< typename LeftType, typename RightType >
- static typename remove_cv< LeftType >::type
- execute( LeftType& left, RightType& right )
- {
- return interlocked::assign( left, right );
- }
-};
-
-
-} } } }
-
-#endif
Deleted: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,97 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to 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)
-==============================================================================*/
-
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_ACQUIRE_VISTA_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_ACQUIRE_VISTA_HPP
-
-#include <boost/config.hpp>
-
-#ifndef BOOST_WINDOWS
-#error Windows interlocked assign acquire included on non-Windows OS.
-#else
-
-#include <windows.h>
-
-#if WINVER < 0x0600
-#error Windows interlocked assign acquire included on pre-vista Windows OS.
-#else
-
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-template< typename ResultType, typename UnqualifiedType >
-struct assign_acquire_impl
-{
- template< typename LeftType, typename RightType >
- static
- typename lazy_enable_if_c
- <
- ( sizeof( LeftType ) == 4 )
- , remove_cv< LeftType >
- >
- ::type
- execute( LeftType& left, RightType right )
- {
- typedef typename remove_cv< LeftType >::type unqualified_type;
-
- return static_cast< unqualified_type >
- (
- InterlockedExchangeAcquire
- ( reinterpret_cast< LONG volatile* >( &left )
- , reinterpret_cast< LONG const& >( right )
- )
- );
- }
-
- template< typename LeftType, typename RightType >
- static
- typename lazy_enable_if_c
- <
- ( sizeof( LeftType ) == 8 )
- , remove_cv< LeftType >
- >
- ::type
- execute( LeftType& left, RightType right )
- {
- typedef typename remove_cv< LeftType >::type unqualified_type;
-
- return static_cast< unqualified_type >
- (
- InterlockedExchange64Acquire
- ( reinterpret_cast< LONGLONG volatile* >( &left )
- , reinterpret_cast< LONGLONG const& >( right )
- )
- );
- }
-
- template< typename LeftType, typename RightType >
- static typename remove_cv< LeftType* >::type
- execute( LeftType*& left, RightType right )
- {
- typedef typename remove_cv< LeftType* >::type unqualified_type;
-
- return static_cast< unqualified_type >
- (
- InterlockedExchangePointerAcquire
- ( const_cast< void* volatile* >
- (
- reinterpret_cast< void const volatile* volatile* >( &left )
- )
- , const_cast< void* >( right )
- )
- );
- }
-};
-
-} } } }
-
-#endif
-
-#endif
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_gcc_x86
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_gcc_x86 (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_gcc_x86 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -15,26 +15,22 @@
struct assign_impl
{
- template< typename LeftType, typename RightType, typename OldType >
+ template< typename LeftType, typename RightType >
static typename remove_cv< LeftType >::type
execute( LeftType& left, RightType right )
{
- typedef typename remove_cv< LeftType >::type unqualified_type;
-
- unqualified_type old_value;
-
// __volatile__ guarantees no compiler reordering
// Note: lock is implied with xchg
__asm__ __volatile__
(
"sfence\n\t"
- "xchg %1, %0":
- "=m"( left ), "=r"( old_value ): // outputs (%0, %1)
- "m"( left ), "1"( right ): // inputs (%2, %3 == %1)
+ "xchg %0, (%1)":
+ "+r"( right ):
+ "r"( &left ):
"memory", "cc" // clobbers
);
- return old_value;
+ return right;
}
};
Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_release_default (from r7120, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_default (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_release_default 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -6,15 +6,15 @@
http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_ACQUIRE_DEFAULT_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_ACQUIRE_DEFAULT_HPP
+#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_RELEASE_DEFAULT_HPP
+#define BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_RELEASE_DEFAULT_HPP
#include <boost/act/interlocked/assign/assign.hpp>
#include <boost/type_traits/remove_cv.hpp>
namespace boost { namespace act { namespace interlocked { namespace detail {
-struct assign_acquire_default_impl
+struct assign_release_default_impl
{
template< typename LeftType, typename RightType >
static typename remove_cv< LeftType >::type
Copied: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_release_windows (from r7120, /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_acquire_windows (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign/detail/assign_release_windows 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -6,19 +6,19 @@
http://www.boost.org/LICENSE_1_0.txt)
==============================================================================*/
-#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_ACQUIRE_VISTA_HPP
-#define BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_ACQUIRE_VISTA_HPP
+#ifndef BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_RELEASE_VISTA_HPP
+#define BOOST_ACT_INTERLOCKED_ASSIGN_DETAIL_ASSIGN_RELEASE_VISTA_HPP
#include <boost/config.hpp>
#ifndef BOOST_WINDOWS
-#error Windows interlocked assign acquire included on non-Windows OS.
+#error Windows interlocked assign release included on non-Windows OS.
#else
#include <windows.h>
#if WINVER < 0x0600
-#error Windows interlocked assign acquire included on pre-vista Windows OS.
+#error Windows interlocked assign release included on pre-vista Windows OS.
#else
#include <boost/utility/enable_if.hpp>
@@ -27,7 +27,7 @@
namespace boost { namespace act { namespace interlocked { namespace detail {
template< typename ResultType, typename UnqualifiedType >
-struct assign_acquire_impl
+struct assign_release_impl
{
template< typename LeftType, typename RightType >
static
@@ -43,7 +43,7 @@
return static_cast< unqualified_type >
(
- InterlockedExchangeAcquire
+ InterlockedExchange
( reinterpret_cast< LONG volatile* >( &left )
, reinterpret_cast< LONG const& >( right )
)
@@ -64,7 +64,7 @@
return static_cast< unqualified_type >
(
- InterlockedExchange64Acquire
+ InterlockedExchange64
( reinterpret_cast< LONGLONG volatile* >( &left )
, reinterpret_cast< LONGLONG const& >( right )
)
@@ -79,7 +79,7 @@
return static_cast< unqualified_type >
(
- InterlockedExchangePointerAcquire
+ InterlockedExchangePointer
( const_cast< void* volatile* >
(
reinterpret_cast< void const volatile* volatile* >( &left )
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_fwd.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_fwd.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_fwd.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -10,6 +10,6 @@
#define BOOST_ACT_INTERLOCKED_ASSIGN_FWD_HPP
#include <boost/act/interlocked/assign/assign_fwd.hpp>
-#include <boost/act/interlocked/assign/assign_acquire_fwd.hpp>
+#include <boost/act/interlocked/assign/assign_release_fwd.hpp>
#endif
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_gcc_x86
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_gcc_x86 (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/assign_if_was/detail/assign_if_was_gcc_x86 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -23,23 +23,20 @@
static typename remove_cv< LeftType >::type
execute( LeftType& left, RightType right, OldType old )
{
- typedef typename remove_cv< LeftType >::type unqualified_type;
-
- unqualified_type old_value;
-
- // __volatile__ guarantees no compiler reordering
+ // ToDo: Very important!!!! This currently is just release semantics!
+ // Rewrite to have both acquire and release semantics!!!
__asm__ __volatile__
(
"sfence\n\t"
"lock\n\t"
- "cmpxchgl %1, %2":
- "=a"( old_value ):
- "q"( right ), "m"( left ), "0"( old ):
+ "cmpxchgl %1, %2\n\t"
+ /*"lfence\n\t"*/:
+ "=a" (old):
+ "q" (right), "m" (left), "0" (old):
"memory", "cc"
- "lfence\n\t"
);
- return old_value;
+ return old;
}
};
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_default.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_default.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_default.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -10,7 +10,6 @@
#ifndef BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_READY_FOR_CLEANUP
//#error Improper incusion of interlocked implementation header. Contact Boost.
#else
-#undef BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_HEADER
#undef BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_FULL_BARRIER
#undef BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_OP
#undef BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_FULL_NAME
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_default_dont_include.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_default_dont_include.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/detail/binary_default_dont_include.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -35,47 +35,15 @@
, BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_INFO \
)
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_FULL_BARRIER \
-BOOST_PP_CAT( BOOST_ACT_INTERLOCKED_DETAIL_AFFIX_ \
- , BOOST_PP_TUPLE_ELEM \
- ( 3, 1 \
- , BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_INFO \
- ) \
- ) \
-== BOOST_ACT_INTERLOCKED_DETAIL_AFFIX_full_barrier
-
-#if BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_FULL_BARRIER
-
-#include <boost/act/interlocked/assign_if_was/assign_if_was_fwd.hpp>
-#include <boost/act/interlocked/retrieve_fwd.hpp>
-
-#else
-
-#define BOOST_ACT_INTERLOCKED_BINARY_DEFAULT_INFO_FWD_HEADER() \
-BOOST_PP_CAT \
-( \
- BOOST_PP_CAT( BOOST_PP_CAT \
- ( <boost/act/interlocked/ \
- , BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_SHORT_NAME \
- ) \
- , BOOST_PP_CAT \
- ( / \
- , BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_SHORT_NAME \
- ) \
- ) \
-, _fwd.hpp> \
-)
-
-#include BOOST_ACT_INTERLOCKED_BINARY_DEFAULT_INFO_FWD_HEADER()
-
-#undef BOOST_ACT_INTERLOCKED_BINARY_DEFAULT_INFO_FWD_HEADER
-
-#endif
+// ToDo: Change to only include appropriate versions of assign_if_was
+#include <boost/act/interlocked/assign_if_was.hpp>
+#include <boost/act/interlocked/retrieve.hpp>
#include <boost/type_traits/remove_cv.hpp>
namespace boost { namespace act { namespace interlocked { namespace detail {
+// ToDo: Change to minimize memory barriers (don't always use full barrier form)
struct BOOST_PP_CAT
(
BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_FULL_NAME
@@ -84,117 +52,34 @@
{
template< typename TargetType, typename OperandType >
static typename remove_cv< TargetType >::type
- execute( TargetType& target, OperandType& operand );
+ execute( TargetType& target, OperandType operand )
+ {
+ typedef typename remove_cv< TargetType >::type unqualified_type;
+ unqualified_type new_value;
+
+ for( unqualified_type curr_value = interlocked::retrieve( target )
+ ; ( new_value = interlocked::assign_if_was
+ ( target
+ , curr_value
+ BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_OP
+ operand
+ , curr_value
+ )
+ )
+ != curr_value
+ ; curr_value = new_value
+ );
+
+ // Note: new_value is the old value here
+ return new_value;
+ }
};
} } } }
-#if BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_FULL_BARRIER
-
-#include <boost/act/interlocked/assign_if_was/assign_if_was_fwd.hpp>
-#include <boost/act/interlocked/retrieve_fwd.hpp>
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-template< typename TargetType, typename OperandType >
-typename remove_cv< TargetType >::type
-BOOST_PP_CAT
-(
- BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_FULL_NAME
-, _default_impl
-)
-::
-execute( TargetType& target, OperandType& operand )
-{
- typedef typename remove_cv< TargetType >::type unqualified_type;
- unqualified_type new_value;
-
- for( unqualified_type curr_value = interlocked::retrieve( target )
- ; ( new_value = interlocked::assign_if_was
- ( target
- , curr_value
- BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_OP
- operand
- , curr_value
- )
- )
- != curr_value
- ; curr_value = new_value
- );
-
- // Note: new_value is the old value here
- return new_value;
-}
-
-} } } }
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_HEADER() BOOST_PP_NIL
-
#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_READY_FOR_CLEANUP
#include <boost/act/interlocked/assign_if_was/assign_if_was.hpp>
#include <boost/act/interlocked/retrieve.hpp>
-#else
-
-#define BOOST_ACT_INTERLOCKED_DEFAULT_IS_FWD_HEADER() \
-BOOST_PP_CAT \
-( \
- BOOST_PP_CAT( BOOST_PP_CAT \
- ( <boost/act/interlocked/ \
- , BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_SHORT_NAME \
- ) \
- , BOOST_PP_CAT \
- ( / \
- , BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_SHORT_NAME \
- ) \
- ) \
-, _fwd.hpp> \
-)
-
-#include BOOST_ACT_INTERLOCKED_DEFAULT_IS_FWD_HEADER()
-
-#undef BOOST_ACT_INTERLOCKED_DEFAULT_IS_FWD_HEADER
-
-namespace boost { namespace act { namespace interlocked { namespace detail {
-
-template< typename TargetType, typename OperandType >
-typename remove_cv< TargetType >::type
-BOOST_PP_CAT
-(
- BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_FULL_NAME
-, _default_impl
-)
-::execute( TargetType& target, OperandType& operand )
-{
- return interlocked
- ::BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_SHORT_NAME( target
- , operand
- );
-
-}
-
-} } } }
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_HEADER() \
-BOOST_PP_CAT \
-( \
- BOOST_PP_CAT( BOOST_PP_CAT \
- ( <boost/act/interlocked/ \
- , BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_SHORT_NAME \
- ) \
- , BOOST_PP_CAT \
- ( / \
- , BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_SHORT_NAME \
- ) \
- ) \
-, .hpp> \
-)
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_READY_FOR_CLEANUP
-
-#include BOOST_ACT_INTERLOCKED_DETAIL_BINARY_DEFAULT_IS_HEADER()
-
-#endif
-
#endif
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/integer/types.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/integer/types.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/integer/types.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -11,7 +11,7 @@
#include <boost/act/config/interlocked/has_interlocked_operations.hpp>
-#ifdef BOOST_ACT_HAS_INTERLOCKED_OPERATIONS
+//#ifdef BOOST_ACT_HAS_INTERLOCKED_OPERATIONS
#include <boost/config.hpp>
@@ -106,6 +106,6 @@
//#endif
-#endif
+//#endif
#endif
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/interlocked/retrieve.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -27,20 +27,7 @@
#else
-#include <boost/preprocessor/cat.hpp>
-
-#define BOOST_ACT_INTERLOCKED_DETAIL_RETRIEVE_CUSTOM_IMPL_HEADER() \
-BOOST_PP_CAT \
-( \
- BOOST_PP_CAT( <boost/act/interlocked/retrieve/detail/retrieve_ \
- , BOOST_ACT_INTERLOCKED_DETAIL_CAS_SUPPORT_NAME \
- ) \
-, .hpp> \
-)
-
-#include BOOST_ACT_INTERLOCKED_DETAIL_RETRIEVE_CUSTOM_IMPL_HEADER()
-
-#undef BOOST_ACT_INTERLOCKED_DETAIL_RETRIEVE_CUSTOM_IMPL_HEADER
+#error Custom retrieve functionality is not yet implemented
#endif
@@ -58,7 +45,7 @@
typedef typename remove_volatile< TargetType >::type unqualified_type;
return detail::retrieve_impl< unqualified_type, unqualified_type >
- ::execute( target );
+ ::execute( target );
}
} } }
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/queue_policy/bounded_queue_policy/queue.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/queue_policy/bounded_queue_policy/queue.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/queue_policy/bounded_queue_policy/queue.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -79,7 +79,7 @@
}
public:
bool empty() const { return begin_m == end_m; }
- static size_type max_size() { return max_size_c; }
+ static size_type max_size() { return MaxSize; }
bool full() const { return end_m == begin_m + 1; }
private:
struct no_arg_factory
@@ -109,7 +109,7 @@
pointer const next_end = this->next_end();
- factory.template apply< Type >( next_end - 1 );
+ factory.template apply< value_type >( next_end - 1 );
end_m = next_end;
}
@@ -133,14 +133,17 @@
const_reference back() const { return *( end_m - 1 ); }
private:
pointer raw_begin() { return reinterpret_cast< pointer >( &buffer_m ); }
- const_pointer raw_begin() const { return reinterpret_cast<Type*>( &buffer_m ); }
+ const_pointer raw_begin() const
+ {
+ return reinterpret_cast< const_pointer >( &buffer_m );
+ }
- pointer pivot_end() { return raw_begin() + max_size_c; }
- const_pointer pivot_end() const { return raw_begin() + max_size_c; }
+ pointer pivot_end() { return raw_begin() + MaxSize; }
+ const_pointer pivot_end() const { return raw_begin() + MaxSize; }
private:
pointer next( pointer curr )
{
- return ( curr == raw_begin() + max_size_c - 1 )
+ return ( curr == raw_begin() + MaxSize - 1 )
? raw_begin()
: begin_m + 1;
}
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/queue_policy/bounded_queue_policy/safe_single_push_pop_queue.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/queue_policy/bounded_queue_policy/safe_single_push_pop_queue.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/queue_policy/bounded_queue_policy/safe_single_push_pop_queue.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -165,7 +165,10 @@
const_reference back() const { return *( end_m - 1 ); }
private:
pointer raw_begin() { return reinterpret_cast< pointer >( &buffer_m ); }
- const_pointer raw_begin() const { return reinterpret_cast<Type*>( &buffer_m ); }
+ const_pointer raw_begin() const
+ {
+ return reinterpret_cast< const_pointer >( &buffer_m );
+ }
pointer pivot_end() { return raw_begin() + MaxSize; }
const_pointer pivot_end() const { return raw_begin() + MaxSize; }
Modified: sandbox/SOC/2006/concurrency/trunk/boost/act/worker_policy/thread_policy/detail/thread_manager.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/boost/act/worker_policy/thread_policy/detail/thread_manager.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/boost/act/worker_policy/thread_policy/detail/thread_manager.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -367,4 +367,4 @@
} } }
-#endif
\ No newline at end of file
+#endif
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/test/Jamfile.v2
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/test/Jamfile.v2 (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/test/Jamfile.v2 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -17,7 +17,7 @@
: [ run interlocked/retrieve.cpp ]
[ run interlocked/assign/assign.cpp ]
- [ run interlocked/assign/assign_acquire.cpp ]
+ [ run interlocked/assign/assign_release.cpp ]
[ run interlocked/assign_if_was/assign_if_was.cpp ]
[ run interlocked/assign_if_was/assign_if_was_acquire.cpp ]
Deleted: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_acquire.cpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_acquire.cpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
+++ (empty file)
@@ -1,49 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006, 2007 Matthew Calabrese
-
- Use, modification and distribution is subject to 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 "../assign_retrieve_helper.hpp"
-#include <boost/thread/barrier.hpp>
-#include <boost/type_traits/remove_cv.hpp>
-#include "assign_helper.hpp"
-
-#include <boost/act/interlocked/assign/assign_acquire.hpp>
-
-struct interlocked_assign_acquire_set
-{
- template< typename VariableType, typename SourceType >
- typename boost::remove_cv< VariableType >::type
- operator ()( VariableType& var, SourceType new_val ) const
- {
- return boost::act::interlocked::assign_acquire( var, new_val );
- }
-};
-
-int test_main( int, char *[] )
-{
-
- test_assign_retrieve_no_threads( single_thread_basic_get()
- , interlocked_assign_acquire_set()
- );
-
- test_assign_retrieve_no_threads( interlocked_retrieve_get()
- , interlocked_assign_acquire_set()
- );
-
- {
- boost::barrier barrier( 2 );
-
- test_assign_retrieve_with_threads( barrier
- , interlocked_retrieve_get()
- , interlocked_assign_acquire_set()
- );
- }
-
- brute_assign_test( interlocked_assign_acquire_set() );
-
- return 0;
-}
\ No newline at end of file
Copied: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_release.cpp (from r7120, /sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_acquire.cpp)
==============================================================================
--- /sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_acquire.cpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign/assign_release.cpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -11,15 +11,15 @@
#include <boost/type_traits/remove_cv.hpp>
#include "assign_helper.hpp"
-#include <boost/act/interlocked/assign/assign_acquire.hpp>
+#include <boost/act/interlocked/assign/assign_release.hpp>
-struct interlocked_assign_acquire_set
+struct interlocked_assign_release_set
{
template< typename VariableType, typename SourceType >
typename boost::remove_cv< VariableType >::type
operator ()( VariableType& var, SourceType new_val ) const
{
- return boost::act::interlocked::assign_acquire( var, new_val );
+ return boost::act::interlocked::assign_release( var, new_val );
}
};
@@ -27,11 +27,11 @@
{
test_assign_retrieve_no_threads( single_thread_basic_get()
- , interlocked_assign_acquire_set()
+ , interlocked_assign_release_set()
);
test_assign_retrieve_no_threads( interlocked_retrieve_get()
- , interlocked_assign_acquire_set()
+ , interlocked_assign_release_set()
);
{
@@ -39,11 +39,11 @@
test_assign_retrieve_with_threads( barrier
, interlocked_retrieve_get()
- , interlocked_assign_acquire_set()
+ , interlocked_assign_release_set()
);
}
- brute_assign_test( interlocked_assign_acquire_set() );
+ brute_assign_test( interlocked_assign_release_set() );
return 0;
-}
\ No newline at end of file
+}
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign_retrieve_helper.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign_retrieve_helper.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/assign_retrieve_helper.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -38,11 +38,9 @@
template< typename GetType, typename SetType >
void test_assign_retrieve_no_threads( GetType get, SetType set )
{
- using namespace boost::act::interlocked;
+ ::boost::act::interlocked::uint_least8_t test_var = 0;
- uint_least8_t test_var = 0;
-
- BOOST_FOREACH( uint_least8_t val, random_uint8 )
+ BOOST_FOREACH( ::boost::act::interlocked::uint_least8_t val, random_uint8 )
{
set( test_var, val );
BOOST_CHECK( get( test_var ) == val );
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/integral_additive_helper.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/integral_additive_helper.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/integral_additive_helper.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -15,8 +15,9 @@
#include <boost/thread/thread.hpp>
#include <boost/thread/barrier.hpp>
#include <boost/integer_traits.hpp>
+#include <boost/act/interlocked/retrieve.hpp>
-#include "../random_uint8.hpp"
+#include "random_uint8.hpp"
/*
Logic for additive tests:
Modified: sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/operation_result_checker.hpp
==============================================================================
--- sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/operation_result_checker.hpp (original)
+++ sandbox/SOC/2006/concurrency/trunk/libs/act/test/interlocked/operation_result_checker.hpp 2007-06-21 14:34:51 EDT (Thu, 21 Jun 2007)
@@ -19,7 +19,7 @@
#include <boost/foreach.hpp>
#include <boost/act/interlocked/integer/types.hpp>
-#include "../random_uint8.hpp"
+#include "random_uint8.hpp"
#include <boost/preprocessor/cat.hpp>
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