summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2019-07-11 00:19:11 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-07-15 10:28:12 +0100
commit217094844ca8390ef839dfec07f9b5c73b47d0d4 (patch)
treea90296f43a217d96ade2204cf02a16de4977aee4 /bitbake
parent8a2914fc981668bf01768bc3050329c1254a74d6 (diff)
downloadpoky-217094844ca8390ef839dfec07f9b5c73b47d0d4.tar.gz
bitbake: runqueue: Tweak buildable variable handling in scheduler
Work off a copy of the 'buildable' class variable, allowing easier future code changes. (Bitbake rev: e851169acfebba404514135bf512e6f045739a13) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/runqueue.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index 704e309b93..b19b524e77 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -142,7 +142,8 @@ class RunQueueScheduler(object):
142 Return the id of the first task we find that is buildable 142 Return the id of the first task we find that is buildable
143 """ 143 """
144 self.buildable = [x for x in self.buildable if x not in self.rq.runq_running] 144 self.buildable = [x for x in self.buildable if x not in self.rq.runq_running]
145 if not self.buildable: 145 buildable = self.buildable
146 if not buildable:
146 return None 147 return None
147 148
148 # Filter out tasks that have a max number of threads that have been exceeded 149 # Filter out tasks that have a max number of threads that have been exceeded
@@ -158,8 +159,8 @@ class RunQueueScheduler(object):
158 else: 159 else:
159 skip_buildable[rtaskname] = 1 160 skip_buildable[rtaskname] = 1
160 161
161 if len(self.buildable) == 1: 162 if len(buildable) == 1:
162 tid = self.buildable[0] 163 tid = buildable[0]
163 taskname = taskname_from_tid(tid) 164 taskname = taskname_from_tid(tid)
164 if taskname in skip_buildable and skip_buildable[taskname] >= int(self.skip_maxthread[taskname]): 165 if taskname in skip_buildable and skip_buildable[taskname] >= int(self.skip_maxthread[taskname]):
165 return None 166 return None
@@ -174,7 +175,7 @@ class RunQueueScheduler(object):
174 175
175 best = None 176 best = None
176 bestprio = None 177 bestprio = None
177 for tid in self.buildable: 178 for tid in buildable:
178 taskname = taskname_from_tid(tid) 179 taskname = taskname_from_tid(tid)
179 if taskname in skip_buildable and skip_buildable[taskname] >= int(self.skip_maxthread[taskname]): 180 if taskname in skip_buildable and skip_buildable[taskname] >= int(self.skip_maxthread[taskname]):
180 continue 181 continue