From f2e85a736d6e6efa93ec2b73cada78782ce38890 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=B5=D0=BB=D0=B8=D0=BF=D0=B5=D0=BD=D0=BA=D0=BE=20?= =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD?= Date: Mon, 16 Mar 2015 15:38:24 +0000 Subject: [PATCH] peer update git-svn-id: svn://db.shs.com.ru/pip@32 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5 --- src/io/pipeer.cpp | 3 ++- utils/system_daemon/daemon.cpp | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/io/pipeer.cpp b/src/io/pipeer.cpp index 7b081e20..e2acf4f6 100755 --- a/src/io/pipeer.cpp +++ b/src/io/pipeer.cpp @@ -406,6 +406,7 @@ bool PIPeer::mbcastRead(uchar * data, int size) { case 2: // remove peer //piCout << "remove peer packet ..." << pi.name; peers_mutex.lock(); + removeNeighbour(pi.name); rpi = getPeerByName(pi.name); if (rpi) { dist = rpi->dist; @@ -465,6 +466,7 @@ bool PIPeer::mbcastRead(uchar * data, int size) { peer.addNeighbours(rpeer.neighbours); rpeer.neighbours = peer.neighbours; if (peer.name == pi.name) peer.sync = 0; + ch = true; } piBreak; } @@ -543,7 +545,6 @@ void PIPeer::removeNeighbour(const PIString & name) { bool PIPeer::removePeer(const PIString & name) { - removeNeighbour(name); for (int i = 0; i < peers.size_s(); ++i) if (peers[i].name == name) { peers.remove(i); diff --git a/utils/system_daemon/daemon.cpp b/utils/system_daemon/daemon.cpp index 5298ccdf..26c86a9e 100644 --- a/utils/system_daemon/daemon.cpp +++ b/utils/system_daemon/daemon.cpp @@ -64,6 +64,7 @@ void Daemon::showTile(PIScreenTile * t, const PIString & header) { tile_header->content.resize(1); tile_header->content[0].first = header; tile_header->content[0].second.flags = Bold; + lock(); if (!conn_name.isEmpty()) tile_header->content[0].first.insert(0, PIString("Daemon \"") + connectedDaemon() + "\": "); /*PIString s; @@ -73,6 +74,7 @@ void Daemon::showTile(PIScreenTile * t, const PIString & header) { tile_header->content.resize(1); tile_header->content[0].first = s; tile_header->content[0].second.flags = Bold;*/ + unlock(); }