Browse Source

memory leak fixed, more performance gained

Simon Van Mierlo 9 years ago
parent
commit
e6b72e5ba1
1 changed files with 6 additions and 1 deletions
  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]