summaryrefslogtreecommitdiff
path: root/ace/Atomic_Op.i
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-10-17 05:44:08 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-10-17 05:44:08 +0000
commit308ce8d1397c750dbfa417d1e5b9789f145d13ad (patch)
tree32899d4e523f3a4b8ca0d9f8b95a012a48268330 /ace/Atomic_Op.i
parent4bc3aff4b232f037730983d1b8cd048f5e43f557 (diff)
downloadATCD-308ce8d1397c750dbfa417d1e5b9789f145d13ad.tar.gz
*** empty log message ***
Diffstat (limited to 'ace/Atomic_Op.i')
-rw-r--r--ace/Atomic_Op.i19
1 files changed, 8 insertions, 11 deletions
diff --git a/ace/Atomic_Op.i b/ace/Atomic_Op.i
index 06c6b3f4611..f6c017c95c3 100644
--- a/ace/Atomic_Op.i
+++ b/ace/Atomic_Op.i
@@ -64,6 +64,13 @@ ACE_Atomic_Op<ACE_LOCK, TYPE>::operator== (const TYPE &i) const
}
template <class ACE_LOCK, class TYPE> ACE_INLINE int
+ACE_Atomic_Op<ACE_LOCK, TYPE>::operator!= (const TYPE &i) const
+{
+// ACE_TRACE ("ACE_Atomic_Op<ACE_LOCK, TYPE>::operator!=");
+ return !(*this == i);
+}
+
+template <class ACE_LOCK, class TYPE> ACE_INLINE int
ACE_Atomic_Op<ACE_LOCK, TYPE>::operator>= (const TYPE &i) const
{
// ACE_TRACE ("ACE_Atomic_Op<ACE_LOCK, TYPE>::operator>=");
@@ -107,14 +114,6 @@ ACE_Atomic_Op<ACE_LOCK, TYPE>::operator= (const ACE_Atomic_Op<ACE_LOCK, TYPE> &r
this->value_ = rhs;
}
-template <class ACE_LOCK, class TYPE> ACE_INLINE
-ACE_Atomic_Op<ACE_LOCK, TYPE>::operator TYPE () const
-{
-// ACE_TRACE ("ACE_Atomic_Op<ACE_LOCK, TYPE>::operator TYPE");
- ACE_Guard<ACE_LOCK> m ((ACE_LOCK &) this->lock_);
- return this->value_;
-}
-
template <class ACE_LOCK, class TYPE> ACE_INLINE TYPE
ACE_Atomic_Op<ACE_LOCK, TYPE>::value (void) const
{
@@ -160,10 +159,8 @@ ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator= (const long &i)
inline void
ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator= (const ACE_Atomic_Op<ACE_Thread_Mutex, long> &rhs)
{
- // This will call ACE_Atomic_Op::TYPE(), which will ensure the value
- // of <rhs> is acquired atomically.
::InterlockedExchange (&this->value_,
- rhs);
+ rhs.value ());
}
#if defined (ACE_HAS_INTERLOCKED_EXCHANGEADD)