From 0f42f6b640813ca4d5a9d7b4292dafea563d2d7d Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Wed, 16 Feb 2011 15:18:06 -0700 Subject: runqueue: pass a copy of the RunQueueStats to events This avoids cases where the stats are modified after the event is fired but before it's dispatched to the UI. (Bitbake rev: 1954f182687a0bd429175dda87f05d8a94bb403a) Signed-off-by: Chris Larson Signed-off-by: Richard Purdie --- bitbake/lib/bb/runqueue.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'bitbake/lib/bb') diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 8a88fe026d..abf7c003e5 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py @@ -46,6 +46,14 @@ class RunQueueStats: self.active = 0 self.total = total + def copy(self): + obj = self.__class__(self.total) + obj.completed = self.completed + obj.skipped = self.skipped + obj.failed = self.failed + obj.active = self.active + return obj + def taskFailed(self): self.active = self.active - 1 self.failed = self.failed + 1 @@ -1594,7 +1602,7 @@ class runQueueEvent(bb.event.Event): def __init__(self, task, stats, rq): self.taskid = task self.taskstring = rq.rqdata.get_user_idstring(task) - self.stats = stats + self.stats = stats.copy() bb.event.Event.__init__(self) class runQueueTaskStarted(runQueueEvent): -- cgit v1.2.3