Use mutex pointer instead of name for AssertLockHeld

This makes it useable for non-global locks such as the wallet and
keystore locks.
This commit is contained in:
Wladimir J. van der Laan
2013-12-19 09:09:51 +01:00
parent 636a42bd0e
commit 19a5676280
3 changed files with 7 additions and 6 deletions

View File

@@ -136,11 +136,11 @@ std::string LocksHeld()
return result;
}
void AssertLockHeld(std::string strName)
void AssertLockHeldInternal(const char *pszName, const char* pszFile, int nLine, void *cs)
{
BOOST_FOREACH(const PAIRTYPE(void*, CLockLocation)&i, *lockstack)
if (i.second.MutexName() == strName) return;
LogPrintf("Lock %s not held; locks held:\n%s", strName.c_str(), LocksHeld().c_str());
if (i.first == cs) return;
LogPrintf("Lock %s not held in %s:%i; locks held:\n%s", pszName, pszFile, nLine, LocksHeld().c_str());
assert(0);
}