This aligns us with the Lockable concept, which means we can use
lock_guard<>, unique_lock<>, etc.
Signed-off-by: Sage Weil <sage@redhat.com>
}
}
-void Mutex::Lock(bool no_lockdep) {
+void Mutex::lock(bool no_lockdep)
+{
if (lockdep && g_lockdep && !no_lockdep && !recursive) _will_lock();
int r = pthread_mutex_lock(&_m);
ceph_assert(r == 0);
_post_lock();
}
-void Mutex::Unlock() {
+void Mutex::unlock()
+{
_pre_unlock();
if (lockdep && g_lockdep) _will_unlock();
int r = pthread_mutex_unlock(&_m);
}
bool TryLock() {
+ return try_lock();
+ }
+ bool try_lock() {
int r = pthread_mutex_trylock(&_m);
if (r == 0) {
if (lockdep && g_lockdep) _locked();
return r == 0;
}
- void Lock(bool no_lockdep=false);
+ void Lock(bool no_lockdep=false) {
+ lock(no_lockdep);
+ }
+ void lock(bool no_lockdep=false);
void _post_lock() {
if (!recursive) {
ceph_assert(nlock == 0);
}
}
- void Unlock();
+ void Unlock() {
+ unlock();
+ }
+ void unlock();
friend class Cond;
public:
explicit Locker(Mutex& m) : mutex(m) {
- mutex.Lock();
+ mutex.lock();
}
~Locker() {
- mutex.Unlock();
+ mutex.unlock();
}
};
};