[rpc] Reduce scope of cs_main and cs_wallet locks in listtransactions
This commit is contained in:
parent
41363fe11d
commit
c409b1adac
1 changed files with 16 additions and 13 deletions
|
@ -1794,8 +1794,6 @@ UniValue listtransactions(const JSONRPCRequest& request)
|
||||||
// the user could have gotten from another RPC command prior to now
|
// the user could have gotten from another RPC command prior to now
|
||||||
pwallet->BlockUntilSyncedToCurrentChain();
|
pwallet->BlockUntilSyncedToCurrentChain();
|
||||||
|
|
||||||
LOCK2(cs_main, pwallet->cs_wallet);
|
|
||||||
|
|
||||||
std::string strAccount = "*";
|
std::string strAccount = "*";
|
||||||
if (!request.params[0].isNull())
|
if (!request.params[0].isNull())
|
||||||
strAccount = request.params[0].get_str();
|
strAccount = request.params[0].get_str();
|
||||||
|
@ -1817,6 +1815,9 @@ UniValue listtransactions(const JSONRPCRequest& request)
|
||||||
|
|
||||||
UniValue ret(UniValue::VARR);
|
UniValue ret(UniValue::VARR);
|
||||||
|
|
||||||
|
{
|
||||||
|
LOCK2(cs_main, pwallet->cs_wallet);
|
||||||
|
|
||||||
const CWallet::TxItems & txOrdered = pwallet->wtxOrdered;
|
const CWallet::TxItems & txOrdered = pwallet->wtxOrdered;
|
||||||
|
|
||||||
// iterate backwards until we have nCount items to return:
|
// iterate backwards until we have nCount items to return:
|
||||||
|
@ -1831,6 +1832,8 @@ UniValue listtransactions(const JSONRPCRequest& request)
|
||||||
|
|
||||||
if ((int)ret.size() >= (nCount+nFrom)) break;
|
if ((int)ret.size() >= (nCount+nFrom)) break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// ret is newest to oldest
|
// ret is newest to oldest
|
||||||
|
|
||||||
if (nFrom > (int)ret.size())
|
if (nFrom > (int)ret.size())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue