Atomic-mutex.cc File Reference

#include "config.h"
#include "Atomic-mutex.h"
#include "Mutex.h"

Go to the source code of this file.

Namespaces

namespace  oasys

Functions

Mutex * oasys::atomic_mutex ()
 Global accessor to the singleton atomic mutex.
static u_int32_t oasys::atomic_cmpxchg32 (volatile atomic_t *v, u_int32_t o, u_int32_t n)
 Atomic compare and set.
static u_int32_t oasys::atomic_add_ret (volatile atomic_t *v, u_int32_t i)
 Atomic addition function.
static void oasys::atomic_add (volatile atomic_t *v, u_int32_t i)
 Wrapper variants around the basic add/sub functions above.
static void oasys::atomic_sub (volatile atomic_t *v, u_int32_t i)
 Atomic subtraction function.
static void oasys::atomic_incr (volatile atomic_t *v)
 Atomic increment.
static void oasys::atomic_decr (volatile atomic_t *v)
 Atomic decrement.
static bool oasys::atomic_decr_test (volatile atomic_t *v)
 Atomic decrement and test.
static u_int32_t oasys::atomic_incr_ret (volatile atomic_t *v)
 Atomic increment function that returns the new value.

Variables

Mutex oasys::g_atomic_mutex ("/XXX/ATOMIC_MUTEX_UNUSED_LOGGER", Mutex::TYPE_FAST, true)
 To implement atomic operations without assembly support at userland, we rely on a single global mutex.


Generated on Thu Jun 7 12:54:30 2007 for DTN Reference Implementation by  doxygen 1.5.1