Catch p2p exceptions

This commit is contained in:
Pieter Wuille 2012-01-10 01:20:22 +01:00
parent 0195702cc6
commit eceeda1eec

View file

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