$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r53874 - in sandbox/task: boost/task/detail libs/task/test
From: oliver.kowalke_at_[hidden]
Date: 2009-06-13 15:27:58
Author: olli
Date: 2009-06-13 15:27:58 EDT (Sat, 13 Jun 2009)
New Revision: 53874
URL: http://svn.boost.org/trac/boost/changeset/53874
Log:
* fixes for atomic ops. on windows
* fixes on test for windows
Text files modified: 
   sandbox/task/boost/task/detail/atomic_interlocked.hpp |     8 ++++----                                
   sandbox/task/libs/task/test/test_functions.hpp        |    15 ++++++++++++++-                         
   2 files changed, 18 insertions(+), 5 deletions(-)
Modified: sandbox/task/boost/task/detail/atomic_interlocked.hpp
==============================================================================
--- sandbox/task/boost/task/detail/atomic_interlocked.hpp	(original)
+++ sandbox/task/boost/task/detail/atomic_interlocked.hpp	2009-06-13 15:27:58 EDT (Sat, 13 Jun 2009)
@@ -9,7 +9,7 @@
 
 #include <boost/assert.hpp>
 #include <boost/cstdint.hpp>
-#include <boost/detail/detail/interlocked.hpp>
+#include <boost/detail/interlocked.hpp>
 
 #include <boost/config/abi_prefix.hpp>
 
@@ -19,20 +19,20 @@
 {
 inline
 void atomic_exchange( uint32_t volatile * object, uint32_t desired)
-{ BOOST_INTERLOCKED_EXCHANGE( object, desired); }
+{ BOOST_INTERLOCKED_EXCHANGE( reinterpret_cast< long volatile * >( object), desired); }
 
 inline
 uint32_t atomic_fetch_add( uint32_t volatile * object, uint32_t operand)
 {
         BOOST_ASSERT( operand == 1);
-	return BOOST_INTERLOCKED_INCREMENT( object);
+	return BOOST_INTERLOCKED_INCREMENT( reinterpret_cast< long volatile * >( object) );
 }
 
 inline
 uint32_t atomic_fetch_sub( uint32_t volatile * object, uint32_t operand)
 {
         BOOST_ASSERT( operand == 1);
-	return BOOST_INTERLOCKED_DECREMENT( object);
+	return BOOST_INTERLOCKED_DECREMENT( reinterpret_cast< long volatile * >( object) );
 }
 } } }
 
Modified: sandbox/task/libs/task/test/test_functions.hpp
==============================================================================
--- sandbox/task/libs/task/test/test_functions.hpp	(original)
+++ sandbox/task/libs/task/test/test_functions.hpp	2009-06-13 15:27:58 EDT (Sat, 13 Jun 2009)
@@ -13,9 +13,16 @@
 #include <stdexcept>
 #include <vector>
 
+#include <boost/task/detail/config.hpp>
+
 extern "C"
 {
+#if defined( BOOST_POSIX_API)
 #include <unistd.h>
+# endif
+# if defined( BOOST_WINDOWS_API)
+#include <windows.h>
+# endif
 }
 
 #include <boost/bind.hpp>
@@ -40,7 +47,13 @@
 { boost::this_thread::sleep( td); }
 
 void non_interrupt_fn( int sec)
-{ ::sleep( sec); }
+{
+# if defined( BOOST_WINDOWS_API)
+	::Sleep( sec * 1000);
+# else
+	::sleep( sec);
+# endif
+}
 
 void interrupt_fn( pt::time_duration const& td, bool & finished)
 {