Core/Dependencies: Update ACE to v6.1.4 (Windows only)

Tested in multiple configurations
.diff with TC changes added
This commit is contained in:
Nay
2012-09-17 23:21:01 +01:00
parent 6ebc6b9a76
commit 2e21fa6b92
549 changed files with 28949 additions and 14408 deletions
+33 -2
View File
@@ -1,6 +1,5 @@
// -*- C++ -*-
//
// $Id: Atomic_Op.inl 91813 2010-09-17 07:52:52Z johnnyw $
// $Id: Atomic_Op.inl 95225 2011-12-05 20:25:15Z shuston $
#if defined (ACE_HAS_INTRINSIC_INTERLOCKED)
# include "ace/os_include/os_intrin.h"
@@ -189,6 +188,22 @@ ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator= (
return *this;
}
ACE_INLINE long
ACE_Atomic_Op<ACE_Thread_Mutex, long>::exchange (long newval)
{
#if defined (ACE_HAS_INTRINSIC_INTERLOCKED)
return ::_InterlockedExchange (const_cast<long *> (&this->value_), newval);
#elif defined (WIN32)
return ::InterlockedExchange (const_cast<long *> (&this->value_), newval);
#elif defined (ACE_HAS_VXATOMICLIB)
return ::vxAtomicSet (reinterpret_cast <atomic_t*>(const_cast<long *> (&this->value_)), newval);
#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
return ::atomic_swap_ulong (reinterpret_cast<volatile unsigned long*>(&this->value_), newval);
#else /* WIN32 */
return (*exchange_fn_) (&this->value_, newval);
#endif /* WIN32 */
}
ACE_INLINE long
ACE_Atomic_Op<ACE_Thread_Mutex, long>::value (void) const
{
@@ -373,6 +388,22 @@ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::operator= (
return *this;
}
ACE_INLINE unsigned long
ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::exchange (unsigned long newval)
{
#if defined (ACE_HAS_INTRINSIC_INTERLOCKED)
return ::_InterlockedExchange (const_cast<long *> (reinterpret_cast<volatile long*> (&this->value_)), newval);
#elif defined (WIN32)
return ::InterlockedExchange (const_cast<long *> (reinterpret_cast<volatile long*> (&this->value_)), newval);
#elif defined (ACE_HAS_VXATOMICLIB)
return ::vxAtomicSet (reinterpret_cast <atomic_t*>(const_cast<long *> (reinterpret_cast<volatile long*> (&this->value_))), newval);
#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
return ::atomic_swap_ulong (&this->value_, newval);
#else /* WIN32 */
return (*exchange_fn_) (reinterpret_cast<volatile long *> (&this->value_), newval);
#endif /* WIN32 */
}
ACE_INLINE unsigned long
ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::value (void) const
{