diff options
author | Chris Larson <chris_larson@mentor.com> | 2011-02-16 15:18:06 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-02-21 13:48:39 +0000 |
commit | 0f42f6b640813ca4d5a9d7b4292dafea563d2d7d (patch) | |
tree | 1aab7ad15c34d7b4b9809f111fc4b17d6e948ec6 /bitbake/lib | |
parent | ec071acf23c494168f5d7934bca93466fffb2b68 (diff) | |
download | poky-0f42f6b640813ca4d5a9d7b4292dafea563d2d7d.tar.gz |
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>
Diffstat (limited to 'bitbake/lib')
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 10 |
1 files changed, 9 insertions, 1 deletions
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: | |||
46 | self.active = 0 | 46 | self.active = 0 |
47 | self.total = total | 47 | self.total = total |
48 | 48 | ||
49 | def copy(self): | ||
50 | obj = self.__class__(self.total) | ||
51 | obj.completed = self.completed | ||
52 | obj.skipped = self.skipped | ||
53 | obj.failed = self.failed | ||
54 | obj.active = self.active | ||
55 | return obj | ||
56 | |||
49 | def taskFailed(self): | 57 | def taskFailed(self): |
50 | self.active = self.active - 1 | 58 | self.active = self.active - 1 |
51 | self.failed = self.failed + 1 | 59 | self.failed = self.failed + 1 |
@@ -1594,7 +1602,7 @@ class runQueueEvent(bb.event.Event): | |||
1594 | def __init__(self, task, stats, rq): | 1602 | def __init__(self, task, stats, rq): |
1595 | self.taskid = task | 1603 | self.taskid = task |
1596 | self.taskstring = rq.rqdata.get_user_idstring(task) | 1604 | self.taskstring = rq.rqdata.get_user_idstring(task) |
1597 | self.stats = stats | 1605 | self.stats = stats.copy() |
1598 | bb.event.Event.__init__(self) | 1606 | bb.event.Event.__init__(self) |
1599 | 1607 | ||
1600 | class runQueueTaskStarted(runQueueEvent): | 1608 | class runQueueTaskStarted(runQueueEvent): |