OpenRTM  1.0.0
Defines | Functions
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 (   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 
)