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/bb/runqueue.py | |
| 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/bb/runqueue.py')
| -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): | 
