OpenRTM-aist  1.2.1
マクロ定義 | 関数
atomic.h ファイル

atomic add func [詳解]

#include <coil/Mutex.h>
#include <coil/Guard.h>
atomic.h の依存先関係図:

[ソースコード]

マクロ定義

#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)
 

関数

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

詳解

atomic add func

日付
$Date$
著者
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$

マクロ定義詳解

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

関数詳解

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