fix: avoid lock annotation for govman.cs in voteraw

This commit is contained in:
Konstantin Akimov 2024-10-06 22:49:50 +07:00
parent 07aa0961c4
commit 982fc9a069
No known key found for this signature in database
GPG Key ID: 2176C4A5D01EA524

View File

@ -955,14 +955,14 @@ static RPCHelpMan voteraw()
const NodeContext& node = EnsureAnyNodeContext(request.context); const NodeContext& node = EnsureAnyNodeContext(request.context);
CHECK_NONFATAL(node.govman); CHECK_NONFATAL(node.govman);
GovernanceObject govObjType = WITH_LOCK(node.govman->cs, return [&](){ GovernanceObject govObjType = [&]() {
AssertLockHeld(node.govman->cs); LOCK(node.govman->cs);
const CGovernanceObject *pGovObj = node.govman->FindConstGovernanceObject(hashGovObj); const CGovernanceObject *pGovObj = node.govman->FindConstGovernanceObject(hashGovObj);
if (!pGovObj) { if (!pGovObj) {
throw JSONRPCError(RPC_INVALID_PARAMETER, "Governance object not found"); throw JSONRPCError(RPC_INVALID_PARAMETER, "Governance object not found");
} }
return pGovObj->GetObjectType(); return pGovObj->GetObjectType();
}()); }();
int64_t nTime = request.params[5].get_int64(); int64_t nTime = request.params[5].get_int64();