diff options
Diffstat (limited to 'node')
-rw-r--r-- | node/Switch.cpp | 3 | ||||
-rw-r--r-- | node/Switch.hpp | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/node/Switch.cpp b/node/Switch.cpp index 8446602c..388ed672 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 2420607d..c258a255 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; |