summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/runqueue.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-12-08 16:38:14 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-12-09 22:15:49 +0000
commit1aae44787cf09a997e3a9ab8b4d64a417a4ee49e (patch)
tree13cb88b364d7eba5e291eed9c895f37ee9a32b66 /bitbake/lib/bb/runqueue.py
parenteb2ea6fd2d2dc626ead13de1ec334d4220651612 (diff)
downloadpoky-1aae44787cf09a997e3a9ab8b4d64a417a4ee49e.tar.gz
bitbake: runqueue: Fix 100% cpu use after keyboard interrupt
After Ctrl+C is pressed to interrupt bitbake, it loops continually, running at 100% cpu. This patch selects on the correct file descriptors resolving the excess cpu usage. (Bitbake rev: 497404e8484b7ca7c11e459bf0845642156eb677) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/runqueue.py')
-rw-r--r--bitbake/lib/bb/runqueue.py9
1 files changed, 4 insertions, 5 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index 22dd7a7285..c503980666 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -1064,7 +1064,7 @@ class RunQueue:
1064 retval = self.rqexe.execute() 1064 retval = self.rqexe.execute()
1065 1065
1066 if self.state is runQueueCleanUp: 1066 if self.state is runQueueCleanUp:
1067 self.rqexe.finish() 1067 retval = self.rqexe.finish()
1068 1068
1069 if (self.state is runQueueComplete or self.state is runQueueFailed) and self.rqexe: 1069 if (self.state is runQueueComplete or self.state is runQueueFailed) and self.rqexe:
1070 self.teardown_workers() 1070 self.teardown_workers()
@@ -1306,15 +1306,14 @@ class RunQueueExecute:
1306 if self.stats.active > 0: 1306 if self.stats.active > 0:
1307 bb.event.fire(runQueueExitWait(self.stats.active), self.cfgData) 1307 bb.event.fire(runQueueExitWait(self.stats.active), self.cfgData)
1308 self.rq.read_workers() 1308 self.rq.read_workers()
1309 1309 return self.rq.active_fds()
1310 return
1311 1310
1312 if len(self.failed_fnids) != 0: 1311 if len(self.failed_fnids) != 0:
1313 self.rq.state = runQueueFailed 1312 self.rq.state = runQueueFailed
1314 return 1313 return True
1315 1314
1316 self.rq.state = runQueueComplete 1315 self.rq.state = runQueueComplete
1317 return 1316 return True
1318 1317
1319 def check_dependencies(self, task, taskdeps, setscene = False): 1318 def check_dependencies(self, task, taskdeps, setscene = False):
1320 if not self.rq.depvalidate: 1319 if not self.rq.depvalidate: