From 1c043d567230d639fa86afb96575689bfc8abdcd Mon Sep 17 00:00:00 2001 From: Jonas Schnelli Date: Fri, 19 Jun 2015 16:32:22 +0200 Subject: [PATCH] fix lock issue for QT node diconnect and RPC disconnectnode --- src/qt/rpcconsole.cpp | 2 +- src/rpcnet.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index 681617bd8..f828ce253 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -687,7 +687,7 @@ void RPCConsole::disconnectSelectedNode() QString strNode = GUIUtil::getEntryData(ui->peerWidget, 0, PeerTableModel::Address); // Find the node, disconnect it and clear the selected node if (CNode *bannedNode = FindNode(strNode.toStdString())) { - bannedNode->CloseSocketDisconnect(); + bannedNode->fDisconnect = true; clearSelectedNode(); } } diff --git a/src/rpcnet.cpp b/src/rpcnet.cpp index 5a26c7c3a..1572b1668 100644 --- a/src/rpcnet.cpp +++ b/src/rpcnet.cpp @@ -231,7 +231,7 @@ UniValue disconnectnode(const UniValue& params, bool fHelp) if (pNode == NULL) throw JSONRPCError(RPC_CLIENT_NODE_NOT_CONNECTED, "Node not found in connected nodes"); - pNode->CloseSocketDisconnect(); + pNode->fDisconnect = true; return NullUniValue; } @@ -519,7 +519,7 @@ UniValue setban(const UniValue& params, bool fHelp) //disconnect possible nodes while(CNode *bannedNode = (isSubnet ? FindNode(subNet) : FindNode(netAddr))) - bannedNode->CloseSocketDisconnect(); + bannedNode->fDisconnect = true; } else if(strCommand == "remove") {