diff --git a/src/io/pidiagnostics.h b/src/io/pidiagnostics.h index 21a9dc56..34b16e1e 100755 --- a/src/io/pidiagnostics.h +++ b/src/io/pidiagnostics.h @@ -129,6 +129,7 @@ public: EVENT_HANDLER0(void, start) {start(1000.); changeDisconnectTimeout();} EVENT_HANDLER1(void, start, double, msecs) {if (msecs > 0.) {PITimer::start(msecs); changeDisconnectTimeout();}} + EVENT_HANDLER0(void, stop) {PITimer::stop();} EVENT_HANDLER0(void, reset); EVENT_HANDLER1(void, received, int, size) {received(size, true);} diff --git a/src/io/pipeer.cpp b/src/io/pipeer.cpp index ee2f21d7..512df631 100755 --- a/src/io/pipeer.cpp +++ b/src/io/pipeer.cpp @@ -78,6 +78,9 @@ PIPeer::PIPeer(const PIString & name_): PIObject() { PIPeer::~PIPeer() { + timer.stop(); + diag_s.stop(); + diag_d.stop(); piForeach (PIEthernet * i, eths_traffic) { i->stopThreadedRead(); delete i; @@ -273,7 +276,7 @@ bool PIPeer::dataRead(uchar * readed, int size) { a.wait_ping = false; if (a.ping < 0) a.ping = ptime.toMilliseconds(); else a.ping = 0.6 * a.ping + 0.4 * ptime.toMilliseconds(); - //piCout << "*** ping echo" << p.name << a.address << a.ping; + piCout << "*** ping echo" << p.name << a.address << a.ping; return true; } } @@ -284,7 +287,7 @@ bool PIPeer::dataRead(uchar * readed, int size) { if (pi) { if (pi->isNeighbour()) { sba = PIByteArray(readed, size); - //piCout << "ping from" << to << addr << ", send back to" << p.name; + piCout << "ping from" << to << addr << ", send back to" << pi->name; piForeachC (PeerInfo::Address & a, pi->addresses) { if (eth_send.send(a.address, sba)) diag_s.received(sba.size_s()); @@ -553,7 +556,7 @@ void PIPeer::syncPeers() { PeerInfo & cp(peers[i]); if (cp.sync > 3) { pn = cp.name; - //piCoutObj << "sync: remove " << pn; + piCoutObj << "sync: remove " << pn; addToRemoved(cp); peers.remove(i); sendPeerRemove(pn); @@ -587,8 +590,7 @@ void PIPeer::findNearestAddresses() { //piCout << "[PIPeer \"" + name_ + "\"] findNearestAddresses"; addresses_map.clear(); int max_dist = -1; - static PIMap peers_; - peers_.clear(); + PIMap peers_; self_info._nuses.resize(self_info.neighbours.size()); self_info._nuses.fill(0); self_info._first = &self_info; diff --git a/utils/system_daemon/main.cpp b/utils/system_daemon/main.cpp index f9c9c4b9..2dc7e6df 100755 --- a/utils/system_daemon/main.cpp +++ b/utils/system_daemon/main.cpp @@ -231,13 +231,13 @@ void tabConnect() { } int main(int argc, char * argv[]) { - piDebug = false; + //piDebug = false; PICLI cli(argc, argv); //cli.addArgument(""); sys_mon.startOnSelf(); screen.enableExitCapture(PIKbdListener::F10); MainMenu menu; - screen.start(); + //screen.start(); screen.waitForFinish(); //return 0; /*while (!PIKbdListener::exiting) {