git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1319 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
31 lines
506 B
C++
31 lines
506 B
C++
// Thread safe counter
|
|
|
|
#ifndef __SYNCHRONIZED_COUNTER_HPP__
|
|
#define __SYNCHRONIZED_COUNTER_HPP__
|
|
|
|
#ifndef __puma
|
|
#include <boost/thread.hpp>
|
|
#include <sys/types.h>
|
|
#endif
|
|
|
|
namespace fail {
|
|
|
|
class SynchronizedCounter
|
|
{
|
|
private:
|
|
int m_counter;
|
|
#ifndef __puma
|
|
boost::mutex m_mutex; // The mutex to synchronise on
|
|
#endif
|
|
public:
|
|
SynchronizedCounter() : m_counter(0) {};
|
|
|
|
int increment();
|
|
int decrement();
|
|
int getValue();
|
|
};
|
|
|
|
} // end-of-namespace: fail
|
|
|
|
#endif // __SYNCHRONIZED_COUNTER_HPP__
|