summaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
Diffstat (limited to 'node')
-rw-r--r--node/Switch.cpp3
-rw-r--r--node/Switch.hpp2
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;