Lock cs_vSend and cs_inventory in a consistent order even in TRY
This commit is contained in:
parent
1c2edd9f67
commit
fd13eca147
1 changed files with 6 additions and 5 deletions
11
src/net.cpp
11
src/net.cpp
|
@ -1070,12 +1070,13 @@ void CConnman::ThreadSocketHandler()
|
|||
{
|
||||
bool fDelete = false;
|
||||
{
|
||||
TRY_LOCK(pnode->cs_vSend, lockSend);
|
||||
if (lockSend)
|
||||
TRY_LOCK(pnode->cs_inventory, lockInv);
|
||||
if (lockInv)
|
||||
{
|
||||
TRY_LOCK(pnode->cs_inventory, lockInv);
|
||||
if (lockInv)
|
||||
fDelete = true;
|
||||
TRY_LOCK(pnode->cs_vSend, lockSend);
|
||||
if (lockSend) {
|
||||
fDelete = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (fDelete)
|
||||
|
|
Loading…
Reference in a new issue