diff options
Diffstat (limited to 'bitbake/lib/bb/runqueue.py')
| -rw-r--r-- | bitbake/lib/bb/runqueue.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 3db083b261..cb9e462869 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
| @@ -105,6 +105,11 @@ class RunQueueScheduler(object): | |||
| 105 | if self.rq.runq_running[taskid] == 1: | 105 | if self.rq.runq_running[taskid] == 1: |
| 106 | continue | 106 | continue |
| 107 | if self.rq.runq_buildable[taskid] == 1: | 107 | if self.rq.runq_buildable[taskid] == 1: |
| 108 | fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[taskid]] | ||
| 109 | taskname = self.rqdata.runq_task[taskid] | ||
| 110 | stamp = bb.build.stampfile(taskname, self.rqdata.dataCache, fn) | ||
| 111 | if stamp in self.rq.build_stamps.values(): | ||
| 112 | continue | ||
| 108 | return taskid | 113 | return taskid |
| 109 | 114 | ||
| 110 | def next(self): | 115 | def next(self): |
| @@ -1010,6 +1015,7 @@ class RunQueueExecute: | |||
| 1010 | self.runq_complete = [] | 1015 | self.runq_complete = [] |
| 1011 | self.build_pids = {} | 1016 | self.build_pids = {} |
| 1012 | self.build_pipes = {} | 1017 | self.build_pipes = {} |
| 1018 | self.build_stamps = {} | ||
| 1013 | self.failed_fnids = [] | 1019 | self.failed_fnids = [] |
| 1014 | 1020 | ||
| 1015 | def runqueue_process_waitpid(self): | 1021 | def runqueue_process_waitpid(self): |
| @@ -1024,6 +1030,7 @@ class RunQueueExecute: | |||
| 1024 | del self.build_pids[result[0]] | 1030 | del self.build_pids[result[0]] |
| 1025 | self.build_pipes[result[0]].close() | 1031 | self.build_pipes[result[0]].close() |
| 1026 | del self.build_pipes[result[0]] | 1032 | del self.build_pipes[result[0]] |
| 1033 | del self.build_stamps[result[0]] | ||
| 1027 | if result[1] != 0: | 1034 | if result[1] != 0: |
| 1028 | self.task_fail(task, result[1]>>8) | 1035 | self.task_fail(task, result[1]>>8) |
| 1029 | else: | 1036 | else: |
| @@ -1312,6 +1319,7 @@ class RunQueueExecuteTasks(RunQueueExecute): | |||
| 1312 | 1319 | ||
| 1313 | self.build_pids[pid] = task | 1320 | self.build_pids[pid] = task |
| 1314 | self.build_pipes[pid] = runQueuePipe(pipein, pipeout, self.cfgData) | 1321 | self.build_pipes[pid] = runQueuePipe(pipein, pipeout, self.cfgData) |
| 1322 | self.build_stamps[pid] = bb.build.stampfile(taskname, self.rqdata.dataCache, fn) | ||
| 1315 | self.runq_running[task] = 1 | 1323 | self.runq_running[task] = 1 |
| 1316 | self.stats.taskActive() | 1324 | self.stats.taskActive() |
| 1317 | if self.stats.active < self.number_tasks: | 1325 | if self.stats.active < self.number_tasks: |
