From 36b2d7923dc017ad0269050fbedfbb04fbce3a72 Mon Sep 17 00:00:00 2001
From: gifrerenom <lluis.gifre@cttc.es>
Date: Thu, 16 Feb 2023 17:15:52 +0000
Subject: [PATCH] Common - MutexQueues:

- Added safety control
---
 src/common/tools/mutex_queues/MutexQueues.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/common/tools/mutex_queues/MutexQueues.py b/src/common/tools/mutex_queues/MutexQueues.py
index b9fc567d5..96e22a86f 100644
--- a/src/common/tools/mutex_queues/MutexQueues.py
+++ b/src/common/tools/mutex_queues/MutexQueues.py
@@ -35,7 +35,7 @@
 #           self.mutex_queues.signal_done(device_uuid)
 
 import threading
-from queue import Queue
+from queue import Queue, Empty
 from typing import Dict
 
 class MutexQueues:
@@ -67,8 +67,11 @@ class MutexQueues:
         with self.lock:
             queue : Queue = self.mutex_queues.setdefault(queue_name, Queue())
             
-            # remove muself from the queue
-            queue.get_nowait()
+            # remove myself from the queue
+            try:
+                queue.get(block=True, timeout=0.1)
+            except Empty:
+                pass
 
             # if there are no other tasks queued, return
             if queue.qsize() == 0: return
-- 
GitLab