diff options
Diffstat (limited to 'ml/Mutex.h')
-rw-r--r-- | ml/Mutex.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/ml/Mutex.h b/ml/Mutex.h new file mode 100644 index 000000000..fcdb75313 --- /dev/null +++ b/ml/Mutex.h @@ -0,0 +1,36 @@ +#ifndef ML_MUTEX_H +#define ML_MUTEX_H + +#include "ml-private.h" + +class Mutex { +public: + Mutex() { + netdata_mutex_init(&M); + } + + void lock() { + netdata_mutex_lock(&M); + } + + void unlock() { + netdata_mutex_unlock(&M); + } + + bool try_lock() { + return netdata_mutex_trylock(&M) == 0; + } + + netdata_mutex_t *inner() { + return &M; + } + + ~Mutex() { + netdata_mutex_destroy(&M); + } + +private: + netdata_mutex_t M; +}; + +#endif /* ML_MUTEX_H */ |