12#ifndef ROC_CORE_MUTEX_H_
13#define ROC_CORE_MUTEX_H_
33 if (
int err = uv_mutex_init(&mutex_)) {
34 roc_panic(
"mutex: uv_mutex_init(): [%s] %s", uv_err_name(err),
40 uv_mutex_destroy(&mutex_);
45 uv_mutex_lock(&mutex_);
50 uv_mutex_unlock(&mutex_);
56 mutable uv_mutex_t mutex_;
ScopedLock< Mutex > Lock
RAII lock.
void unlock() const
Unlock mutex.
void lock() const
Lock mutex.
Base class for non-copyable objects.
#define roc_panic(...)
Print error message and terminate program gracefully.