summaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2017-08-23 16:55:22 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2017-08-23 16:55:22 -0700
commit180049a27725523e18004769d145ba88a68c799b (patch)
tree6ff234ca2e42f2c76f1a4bb32d82738a0eacb608 /node
parent6ee201865b12f5b0f16208f6d696b1bf00197eaf (diff)
downloadinfinitytier-180049a27725523e18004769d145ba88a68c799b.tar.gz
infinitytier-180049a27725523e18004769d145ba88a68c799b.zip
Fix pointer bug.
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;