Mark3 Realtime Kernel
atomic.h File Reference

Basic Atomic Operations. More...

#include "kerneltypes.h"
#include "mark3cfg.h"
#include "ithreadport.h"
#include "kerneldebug.h"

Go to the source code of this file.

Namespaces

 Mark3
 
 Mark3::Atomic
 The Atomic namespace This utility module provides primatives for atomic operations - that is, operations that are guaranteed to execute uninterrupted. Basic atomic primatives provided here include Set/Add/Subtract, as well as an atomic test-and-set.
 

Functions

template<typename T >
Mark3::Atomic::Set (T *pSource_, T val_)
 Set Set a variable to a given value in an uninterruptable operation. More...
 
template<typename T >
Mark3::Atomic::Add (T *pSource_, T val_)
 Add Add a value to a variable in an uninterruptable operation. More...
 
template<typename T >
Mark3::Atomic::Sub (T *pSource_, T val_)
 Sub Subtract a value from a variable in an uninterruptable operation. More...
 
bool Mark3::Atomic::TestAndSet (bool *pbLock)
 TestAndSet Test to see if a variable is set, and set it if is not already set. This is an uninterruptable operation. More...
 

Detailed Description

Basic Atomic Operations.

Definition in file atomic.h.