diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-12-08 16:38:14 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-12-09 22:15:49 +0000 |
commit | 1aae44787cf09a997e3a9ab8b4d64a417a4ee49e (patch) | |
tree | 13cb88b364d7eba5e291eed9c895f37ee9a32b66 /bitbake/lib/bb | |
parent | eb2ea6fd2d2dc626ead13de1ec334d4220651612 (diff) | |
download | poky-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')
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 9 |
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: |