Bladeren bron

Fix pointer bug.

Adam Ierymenko 8 jaren geleden
bovenliggende
commit
180049a277
2 gewijzigde bestanden met toevoegingen van 2 en 3 verwijderingen
  1. 1 2
      node/Switch.cpp
  2. 1 1
      node/Switch.hpp

+ 1 - 2
node/Switch.cpp

@@ -620,8 +620,7 @@ unsigned long Switch::doTimerTasks(void *tPtr,uint64_t now)
 				_txQueue.erase(txi++);
 				_txQueue.erase(txi++);
 			} else if ((now - txi->creationTime) > ZT_TRANSMIT_QUEUE_TIMEOUT) {
 			} else if ((now - txi->creationTime) > ZT_TRANSMIT_QUEUE_TIMEOUT) {
 				RR->t->txTimedOut(tPtr,txi->dest);
 				RR->t->txTimedOut(tPtr,txi->dest);
-				_txQueue.erase(txi);
-				++txi;
+				_txQueue.erase(txi++);
 			} else if (!RR->topology->getPeer(tPtr,txi->dest)) {
 			} else if (!RR->topology->getPeer(tPtr,txi->dest)) {
 				requestWhois(tPtr,now,txi->dest);
 				requestWhois(tPtr,now,txi->dest);
 				++txi;
 				++txi;

+ 1 - 1
node/Switch.hpp

@@ -144,7 +144,7 @@ private:
 
 
 	const RuntimeEnvironment *const RR;
 	const RuntimeEnvironment *const RR;
 	uint64_t _lastBeaconResponse;
 	uint64_t _lastBeaconResponse;
-	uint64_t _lastCheckedQueues;
+	volatile uint64_t _lastCheckedQueues;
 
 
 	// Time we last sent a WHOIS request for each address
 	// Time we last sent a WHOIS request for each address
 	Hashtable< Address,uint64_t > _lastSentWhoisRequest;
 	Hashtable< Address,uint64_t > _lastSentWhoisRequest;