From 11c190e3f18b43ecb120a5f3e81243fb6fd97261 Mon Sep 17 00:00:00 2001 From: Vasil Dimov Date: Wed, 13 Jul 2022 10:13:31 +0200 Subject: [PATCH] sync: simplify MaybeCheckNotHeld() definitions by using a template Reduce 4 of the `MaybeCheckNotHeld()` definitions to 2 by using a template. This also makes the function usable for other [BasicLockable](https://en.cppreference.com/w/cpp/named_req/BasicLockable) types. --- src/sync.h | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/sync.h b/src/sync.h index c34d969041..515e9d12fc 100644 --- a/src/sync.h +++ b/src/sync.h @@ -249,14 +249,12 @@ using DebugLock = UniqueLock +inline MutexType& MaybeCheckNotHeld(MutexType& m) LOCKS_EXCLUDED(m) LOCK_RETURNED(m) { return m; } +template +inline MutexType* MaybeCheckNotHeld(MutexType* m) LOCKS_EXCLUDED(m) LOCK_RETURNED(m) { return m; } #define LOCK(cs) DebugLock UNIQUE_NAME(criticalblock)(MaybeCheckNotHeld(cs), #cs, __FILE__, __LINE__) #define LOCK2(cs1, cs2) \