OpenRTM-aist  1.2.1
Macros | Functions
atomic.h File Reference

atomic add func More...

#include <coil/Mutex.h>
#include <coil/Guard.h>
Include dependency graph for atomic.h:

Go to the source code of this file.

Macros

#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-and.nosp@m.o@ai.nosp@m.st.go.nosp@m..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$

Macro Definition Documentation

#define atomic_add (   x,
 
)
Value:
{ \
coil::Guard<coil::Mutex> guard(__mutex); \
*x = *x + y; \
}
#define atomic_decr (   x)
Value:
{ \
coil::Guard<coil::Mutex> guard(__mutex); \
--(*x); \
}
#define atomic_exchange_add (   x,
 
)    exchange_add(x, y, &__mutex)
#define atomic_incr (   x)
Value:
{ \
coil::Guard<coil::Mutex> guard(__mutex); \
++(*x); \
}
#define COIL_USES_ATOMIC_OP   coil::Mutex __mutex;

Function Documentation

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