summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/runqueue.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/runqueue.py')
-rw-r--r--bitbake/lib/bb/runqueue.py8
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: