atomic.h File Reference

atomic add func More...

#include <coil/Mutex.h>
#include <coil/Guard.h>

Go to the source code of this file.

Defines

#define COIL_USES_ATOMIC_OP   coil::Mutex __mutex;
#define atomic_add(x, y)
#define atomic_incr(x)
#define atomic_decr(x)
#define atomic_exchange_add(x, y)   exchange_add(x, y, &__mutex)

Functions

int exchange_add (int *x, int y, coil::Mutex *mutex)


Detailed Description

atomic add func

Date:
$Date$
Author:
Noriaki Ando <n-ando@aist.go.jp>
Copyright (C) 2008 Noriaki Ando Task-intelligence Research Group, Intelligent Systems Research Institute, National Institute of Advanced Industrial Science and Technology (AIST), Japan All rights reserved.

$Id$


Define Documentation

#define atomic_add ( x,
 ) 

Value:

{                                             \
    coil::Guard<coil::Mutex> guard(__mutex);    \
    *x = *x + y;                                \
  }

#define atomic_decr (  ) 

Value:

{                                             \
    coil::Guard<coil::Mutex> guard(__mutex);    \
    --(*x);                                     \
  }

#define atomic_exchange_add ( x,
 )     exchange_add(x, y, &__mutex)

#define atomic_incr (  ) 

Value:

{                                             \
    coil::Guard<coil::Mutex> guard(__mutex);    \
    ++(*x);                                     \
  }

Referenced by coil::refcounter_base::add_ref().

#define COIL_USES_ATOMIC_OP   coil::Mutex __mutex;


Function Documentation

int exchange_add ( int *  x,
int  y,
coil::Mutex mutex 
)


Generated on Thu Jan 28 13:25:35 2010 for OpenRTM by  doxygen 1.5.5