From ed75fe673e82b1efdc15356c6ba714bfee0a9b4a Mon Sep 17 00:00:00 2001 From: Simon Walton Date: Tue, 31 Jul 2018 18:28:14 -0700 Subject: [PATCH] Replace int+bool with single atomic int --- interface/src/octree/OctreePacketProcessor.cpp | 8 ++------ interface/src/octree/OctreePacketProcessor.h | 5 +---- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/interface/src/octree/OctreePacketProcessor.cpp b/interface/src/octree/OctreePacketProcessor.cpp index 76f62bcc4e..9196699473 100644 --- a/interface/src/octree/OctreePacketProcessor.cpp +++ b/interface/src/octree/OctreePacketProcessor.cpp @@ -116,9 +116,7 @@ void OctreePacketProcessor::processPacket(QSharedPointer messag OCTREE_PACKET_SEQUENCE completionNumber; message->readPrimitive(&completionNumber); - Locker lock(_completionMutex); _completionSequenceNumber = completionNumber; - _completionSequenceNumberValid = true; } break; default: { @@ -128,8 +126,7 @@ void OctreePacketProcessor::processPacket(QSharedPointer messag } void OctreePacketProcessor::resetCompletionSequenceNumber() { - Locker lock(_completionMutex); - _completionSequenceNumber = false; + _completionSequenceNumber = -1; } namespace { @@ -143,8 +140,7 @@ namespace { } bool OctreePacketProcessor::octreeSequenceIsComplete(int sequenceNumber) const { - Locker lock(_completionMutex); // If we've received the flagged seq # and the current one is >= it. - return _completionSequenceNumberValid && + return _completionSequenceNumber != -1 && !lessThanWraparound(sequenceNumber, _completionSequenceNumber); } diff --git a/interface/src/octree/OctreePacketProcessor.h b/interface/src/octree/OctreePacketProcessor.h index ad1ab6c36c..9c5eaca8ec 100644 --- a/interface/src/octree/OctreePacketProcessor.h +++ b/interface/src/octree/OctreePacketProcessor.h @@ -37,10 +37,7 @@ private slots: void handleOctreePacket(QSharedPointer message, SharedNodePointer senderNode); private: - mutable std::mutex _completionMutex; - using Locker = std::lock_guard; - bool _completionSequenceNumberValid { false }; - int _completionSequenceNumber { 0 }; + std::atomic _completionSequenceNumber { -1 }; }; #endif // hifi_OctreePacketProcessor_h