summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--node/Switch.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/node/Switch.cpp b/node/Switch.cpp
index bf9308b0..02881331 100644
--- a/node/Switch.cpp
+++ b/node/Switch.cpp
@@ -452,8 +452,8 @@ unsigned long Switch::doTimerTasks(uint64_t now)
Mutex::Lock _l(_contactQueue_m);
for(std::list<ContactQueueEntry>::iterator qi(_contactQueue.begin());qi!=_contactQueue.end();) {
if (now >= qi->fireAtTime) {
- if (qi->peer->hasActiveDirectPath(now)) {
- // We've successfully NAT-t'd, so cancel attempt
+ if ((!qi->peer->alive(now))||(qi->peer->hasActiveDirectPath(now))) {
+ // Cancel attempt if we've already connected or peer is no longer "alive"
_contactQueue.erase(qi++);
continue;
} else {