summaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
Diffstat (limited to 'node')
-rw-r--r--node/Peer.cpp2
-rw-r--r--node/Peer.hpp7
2 files changed, 3 insertions, 6 deletions
diff --git a/node/Peer.cpp b/node/Peer.cpp
index 827dc7de..2e9f6a2b 100644
--- a/node/Peer.cpp
+++ b/node/Peer.cpp
@@ -109,7 +109,7 @@ void Peer::received(
outp.armor(_key,true,path->nextOutgoingCounter());
path->send(RR,tPtr,outp.data(),outp.size(),now);
}
- suboptimalPath = true;
+ isClusterSuboptimalPath = true;
}
}
#endif
diff --git a/node/Peer.hpp b/node/Peer.hpp
index 6cf30feb..b9d85404 100644
--- a/node/Peer.hpp
+++ b/node/Peer.hpp
@@ -316,11 +316,8 @@ public:
*/
inline bool hasLocalClusterOptimalPath(uint64_t now) const
{
- for(unsigned int p=0,np=_numPaths;p<np;++p) {
- if ( (_paths[p].path->alive(now)) && (!_paths[p].localClusterSuboptimal) )
- return true;
- }
- return false;
+ Mutex::Lock _l(_paths_m);
+ return ( ((_v4Path.p)&&(_v4Path.p->alive(now))&&(!_v4Path.localClusterSuboptimal)) || ((_v6Path.p)&&(_v6Path.p->alive(now))&&(!_v6Path.localClusterSuboptimal)) );
}
#endif