Browse Source

Catch p2p exceptions

pull/1/head
Pieter Wuille 13 years ago
parent
commit
eceeda1eec
  1. 21
      bitcoin.cpp

21
bitcoin.cpp

@ -259,16 +259,21 @@ public: @@ -259,16 +259,21 @@ public:
};
bool TestNode(const CIPPort &cip, int &ban, int &clientV, vector<CAddress>& vAddr) {
CNode node(cip, vAddr);
bool ret = node.Run();
if (!ret) {
ban = node.GetBan();
} else {
try {
CNode node(cip, vAddr);
bool ret = node.Run();
if (!ret) {
ban = node.GetBan();
} else {
ban = 0;
}
clientV = node.GetClientVersion();
// printf("%s: %s!!!\n", cip.ToString().c_str(), ret ? "GOOD" : "BAD");
return ret;
} catch(std::ios_base::failure& e) {
ban = 0;
return false;
}
clientV = node.GetClientVersion();
// printf("%s: %s!!!\n", cip.ToString().c_str(), ret ? "GOOD" : "BAD");
return ret;
}
/*

Loading…
Cancel
Save