Parcourir la source

memory leak fixed, more performance gained

Simon Van Mierlo il y a 9 ans
Parent
commit
e6b72e5ba1
1 fichiers modifiés avec 6 ajouts et 1 suppressions
  1. 6 1
      src/python_sccd/python_sccd_runtime/event_queue.py

+ 6 - 1
src/python_sccd/python_sccd_runtime/event_queue.py

@@ -24,4 +24,9 @@ class EventQueue(object):
         self.event_list = sorted([e for e in self.event_list if id(e) != event_id])
     
     def pop(self):
-        return heappop(self.event_list)[2]
+        item = heappop(self.event_list)
+        event_time = item[0]
+        self.event_time_numbers[event_time] -= 1
+        if not self.event_time_numbers[event_time]:
+            del self.event_time_numbers[event_time]
+        return item[2]