oasys::atomic_t Struct Reference

#include <Atomic-arm.h>

List of all members.


Detailed Description

The definition of atomic_t for arm requires a second word used for the lock, since the only instruction we have to rely on is SWP.

As such, all atomic operations call atomic_lock(), then execute the operation, then atomic_unlock().

Definition at line 32 of file Atomic-arm.h.

Public Member Functions

 atomic_t (u_int32_t v=0)
 atomic_t (u_int32_t v=0)
 atomic_t (u_int32_t v=0)
 atomic_t (u_int32_t v=0)
 atomic_t (u_int32_t v=0)

Public Attributes

volatile u_int32_t value
volatile u_int32_t lock


Constructor & Destructor Documentation

oasys::atomic_t::atomic_t ( u_int32_t  v = 0  )  [inline]

Definition at line 33 of file Atomic-arm.h.

oasys::atomic_t::atomic_t ( u_int32_t  v = 0  )  [inline]

Definition at line 41 of file Atomic-fake.h.

oasys::atomic_t::atomic_t ( u_int32_t  v = 0  )  [inline]

Definition at line 29 of file Atomic-mips.h.

oasys::atomic_t::atomic_t ( u_int32_t  v = 0  )  [inline]

Definition at line 47 of file Atomic-mutex.h.

oasys::atomic_t::atomic_t ( u_int32_t  v = 0  )  [inline]

Definition at line 31 of file Atomic-ppc.h.


Member Data Documentation

volatile u_int32_t atomic_t::value

Definition at line 36 of file Atomic-arm.h.

Referenced by oasys::RefCountedObject::add_ref(), dtn::StreamConvergenceLayer::Connection::check_keepalive(), dtn::CLConnection::check_unblock_link(), oasys::RefCountedObject::del_ref(), oasys::Lock::is_locked(), oasys::SpinLock::lock(), oasys::Mutex::lock(), dtn::CLConnection::queue_bundle(), oasys::RefCountedObject::refcount(), oasys::SpinLock::try_lock(), oasys::Mutex::try_lock(), oasys::SpinLock::unlock(), and oasys::Mutex::unlock().

volatile u_int32_t oasys::atomic_t::lock

Definition at line 37 of file Atomic-arm.h.


The documentation for this struct was generated from the following files:
Generated on Thu Jun 7 12:54:36 2007 for DTN Reference Implementation by  doxygen 1.5.1