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 <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Chris Larson 2011-02-16 15:18:06 -07:00 committed by Richard Purdie
parent ec071acf23
commit 0f42f6b640
1 changed files with 9 additions and 1 deletions

View File

@ -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):