소스 검색

memory leak fixed, more performance gained

Simon Van Mierlo 9 년 전
부모
커밋
e6b72e5ba1
1개의 변경된 파일6개의 추가작업 그리고 1개의 파일을 삭제
  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]