MCPcopy
hub / github.com/pyinstaller/pyinstaller / refill_task_list

Method refill_task_list

bootloader/waflib/Runner.py:139–185  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

137 self.postponed.append(tsk)
138
139 def refill_task_list(self):
140 while self.count > self.numjobs * GAP:
141 self.get_out()
142 while not self.outstanding:
143 if self.count:
144 self.get_out()
145 if self.outstanding:
146 break
147 elif self.postponed:
148 try:
149 cond = self.deadlock == self.processed
150 except AttributeError:
151 pass
152 else:
153 if cond:
154 lst = []
155 for tsk in self.postponed:
156 deps = [id(x) for x in tsk.run_after if not x.hasrun]
157 lst.append('%s\t-> %r' % (repr(tsk), deps))
158 if not deps:
159 lst.append('\n task %r dependencies are done, check its *runnable_status*?' % id(tsk))
160 raise Errors.WafError('Deadlock detected: check the task build order%s' % ''.join(lst))
161 self.deadlock = self.processed
162 if self.postponed:
163 self.outstanding.extend(self.postponed)
164 self.postponed.clear()
165 elif not self.count:
166 if self.incomplete:
167 for x in self.incomplete:
168 for k in x.run_after:
169 if not k.hasrun:
170 break
171 else:
172 self.incomplete.remove(x)
173 self.outstanding.append(x)
174 break
175 else:
176 if self.stop or self.error:
177 break
178 raise Errors.WafError('Broken revdeps detected on %r' % self.incomplete)
179 else:
180 tasks = next(self.biter)
181 ready, waiting = self.prio_and_split(tasks)
182 self.outstanding.extend(ready)
183 self.incomplete.update(waiting)
184 self.total = self.bld.total()
185 break
186
187 def add_more_tasks(self, tsk):
188 if getattr(tsk, 'more_tasks', None):

Callers 1

startMethod · 0.95

Calls 7

get_outMethod · 0.95
prio_and_splitMethod · 0.95
updateMethod · 0.80
appendMethod · 0.45
extendMethod · 0.45
clearMethod · 0.45
totalMethod · 0.45

Tested by

no test coverage detected