diff options
| author | MarcoFalke <[email protected]> | 2020-05-28 10:47:44 -0400 |
|---|---|---|
| committer | MarcoFalke <[email protected]> | 2020-05-28 10:47:50 -0400 |
| commit | 082a417abcce6a2d6e0a52ccad5cca9657cec64b (patch) | |
| tree | 737b93fee1e6a393a63fcaabe99c03be71819d3e /src/sync.cpp | |
| parent | Merge #16127: More thread safety annotation coverage (diff) | |
| parent | build: Replace -Wthread-safety-analysis with broader -Wthread-safety (diff) | |
| download | discoin-082a417abcce6a2d6e0a52ccad5cca9657cec64b.tar.xz discoin-082a417abcce6a2d6e0a52ccad5cca9657cec64b.zip | |
Merge #18635: Replace -Wthread-safety-analysis with broader -Wthread-safety
87766b355c47fcb0f0dcf3f6fe359eb00227d50c build: Replace -Wthread-safety-analysis with broader -Wthread-safety (Hennadii Stepanov)
9cc6eb3c9e0eb1d5be26fb81cc5595c131fec8f4 Get rid of -Wthread-safety-precise warnings (Hennadii Stepanov)
971a468ccf0474ca00fa7d20278569b8fb11f0fb Use template function instead of void* parameter (Hennadii Stepanov)
dfb75ae49d4d617ec02188a6f449e8b8015ad467 refactor: Rename LockGuard to StdLockGuard for consistency with StdMutex (Hennadii Stepanov)
79be4874209f71ba6428a80c40c9f028ac936c41 Add thread safety annotated wrapper for std::mutex (Hennadii Stepanov)
Pull request description:
This PR gets rid of `-Wthread-safety-attributes` and `-Wthread-safety-precise` warnings, and replaces `-Wthread-safety-analysis` compiler option with the broader `-Wthread-safety` one.
ACKs for top commit:
practicalswift:
ACK 87766b355c47fcb0f0dcf3f6fe359eb00227d50c -- patch looks correct
ajtowns:
ACK 87766b355c47fcb0f0dcf3f6fe359eb00227d50c
MarcoFalke:
ACK 87766b355c47fcb0f0dcf3f6fe359eb00227d50c 👍
vasild:
ACK 87766b3
Tree-SHA512: b1fe29f2568c954c612f964f9022a1f02333fae4a62c8c16c45e83f5f50a27231fc60b6bd369ccd3bbdb42ef4a0f19defde350c31a62613082ffbc9d7e383a5f
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 c3312b5a0..9abdedbed 100644 --- a/src/sync.cpp +++ b/src/sync.cpp @@ -219,12 +219,15 @@ static bool LockHeld(void* mutex) return false; } -void AssertLockHeldInternal(const char* pszName, const char* pszFile, int nLine, void* cs) +template <typename MutexType> +void AssertLockHeldInternal(const char* pszName, const char* pszFile, int nLine, MutexType* cs) { if (LockHeld(cs)) return; tfm::format(std::cerr, "Assertion failed: lock %s not held in %s:%i; locks held:\n%s", pszName, pszFile, nLine, LocksHeld()); abort(); } +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) { |