diff options
author | Anthony Towns <aj@erisian.com.au> | 2020-08-06 02:55:31 +1000 |
---|---|---|
committer | Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> | 2020-08-29 20:46:47 +0300 |
commit | 2ee7743fe723227f2ea1b031eddb14fc6863f4c8 (patch) | |
tree | 65bce22427bcb9addb344982545af9abfe75ada5 /src/sync.cpp | |
parent | 23d71d171e6e22ba5e4a909d597a54595b2a2c1f (diff) |
sync.h: Make runtime lock checks require compile-time lock checks
Diffstat (limited to 'src/sync.cpp')
-rw-r--r-- | src/sync.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/sync.cpp b/src/sync.cpp index 4be13a3c48..322198a852 100644 --- a/src/sync.cpp +++ b/src/sync.cpp @@ -238,12 +238,15 @@ void AssertLockHeldInternal(const char* pszName, const char* pszFile, int nLine, template void AssertLockHeldInternal(const char*, const char*, int, Mutex*); template void AssertLockHeldInternal(const char*, const char*, int, RecursiveMutex*); -void AssertLockNotHeldInternal(const char* pszName, const char* pszFile, int nLine, void* cs) +template <typename MutexType> +void AssertLockNotHeldInternal(const char* pszName, const char* pszFile, int nLine, MutexType* cs) { if (!LockHeld(cs)) return; tfm::format(std::cerr, "Assertion failed: lock %s held in %s:%i; locks held:\n%s", pszName, pszFile, nLine, LocksHeld()); abort(); } +template void AssertLockNotHeldInternal(const char*, const char*, int, Mutex*); +template void AssertLockNotHeldInternal(const char*, const char*, int, RecursiveMutex*); void DeleteLock(void* cs) { |