From 180049a27725523e18004769d145ba88a68c799b Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Wed, 23 Aug 2017 16:55:22 -0700 Subject: [PATCH] Fix pointer bug. --- node/Switch.cpp | 3 +-- node/Switch.hpp | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/node/Switch.cpp b/node/Switch.cpp index 8446602c4..388ed6720 100644 --- a/node/Switch.cpp +++ b/node/Switch.cpp @@ -620,8 +620,7 @@ unsigned long Switch::doTimerTasks(void *tPtr,uint64_t now) _txQueue.erase(txi++); } else if ((now - txi->creationTime) > ZT_TRANSMIT_QUEUE_TIMEOUT) { RR->t->txTimedOut(tPtr,txi->dest); - _txQueue.erase(txi); - ++txi; + _txQueue.erase(txi++); } else if (!RR->topology->getPeer(tPtr,txi->dest)) { requestWhois(tPtr,now,txi->dest); ++txi; diff --git a/node/Switch.hpp b/node/Switch.hpp index 2420607da..c258a2553 100644 --- a/node/Switch.hpp +++ b/node/Switch.hpp @@ -144,7 +144,7 @@ private: const RuntimeEnvironment *const RR; uint64_t _lastBeaconResponse; - uint64_t _lastCheckedQueues; + volatile uint64_t _lastCheckedQueues; // Time we last sent a WHOIS request for each address Hashtable< Address,uint64_t > _lastSentWhoisRequest;