From da31c5857736fea1ae199a95c418c1a517a48e72 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Mon, 17 Dec 2018 19:51:45 -0500 Subject: [PATCH] shared/locks: Add RecursiveLocker. Copied from the kernel version. --- headers/private/shared/locks.h | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/headers/private/shared/locks.h b/headers/private/shared/locks.h index efea5907e5..952bb929d9 100644 --- a/headers/private/shared/locks.h +++ b/headers/private/shared/locks.h @@ -117,6 +117,24 @@ public: } }; +typedef AutoLocker MutexLocker; + + +class RecursiveLockLocking { +public: + inline bool Lock(recursive_lock *lockable) + { + return recursive_lock_lock(lockable) == B_OK; + } + + inline void Unlock(recursive_lock *lockable) + { + recursive_lock_unlock(lockable); + } +}; + +typedef AutoLocker RecursiveLocker; + class RWLockReadLocking { public: @@ -146,7 +164,6 @@ public: }; -typedef AutoLocker MutexLocker; typedef AutoLocker ReadLocker; typedef AutoLocker WriteLocker;