From 60d52182bbbcb7b6738fda23ce7118e338a683bc Mon Sep 17 00:00:00 2001 From: Tom Poole Date: Thu, 25 Mar 2021 18:24:11 +0000 Subject: [PATCH] Fixed a data race in ThreadedAnalyticsDestination --- .../destinations/juce_ThreadedAnalyticsDestination.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.cpp b/modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.cpp index da9df139b1..fd492d7a82 100644 --- a/modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.cpp +++ b/modules/juce_analytics/destinations/juce_ThreadedAnalyticsDestination.cpp @@ -89,6 +89,8 @@ void ThreadedAnalyticsDestination::EventDispatcher::run() while (! threadShouldExit()) { { + const ScopedLock lock (queueAccess); + const auto numEventsInBatch = eventsToSend.size(); const auto freeBatchCapacity = maxBatchSize - numEventsInBatch; @@ -98,8 +100,6 @@ void ThreadedAnalyticsDestination::EventDispatcher::run() if (numNewEvents > 0) { - const ScopedLock lock (queueAccess); - const auto numEventsToAdd = jmin (numNewEvents, freeBatchCapacity); const auto newBatchSize = numEventsInBatch + numEventsToAdd;