From 48e2ee100c17299d81a35a12fb125302131778cc Mon Sep 17 00:00:00 2001 From: Chris Hennes Date: Tue, 15 Feb 2022 13:04:49 -0600 Subject: [PATCH] Addon Manager: Fix race condition --- src/Mod/AddonManager/NetworkManager.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Mod/AddonManager/NetworkManager.py b/src/Mod/AddonManager/NetworkManager.py index d15404ff82..6ec1d8b431 100644 --- a/src/Mod/AddonManager/NetworkManager.py +++ b/src/Mod/AddonManager/NetworkManager.py @@ -294,10 +294,14 @@ if HAVE_QTNETWORK: ) ) self.__request_queued.emit() - while not self.synchronous_complete[current_index]: + while True: if QtCore.QThread.currentThread().isInterruptionRequested(): return None QtCore.QCoreApplication.processEvents() + with self.synchronous_lock: + if self.synchronous_complete[current_index]: + break + with self.synchronous_lock: self.synchronous_complete.pop(current_index)