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-31 10:10:21 +0000 |
commit | fa34c42d192927345f8c6010bb8feb5ef12c73c5 (patch) | |
tree | 0b2e3bbb41d079711d2e3daee97c32e5b0d2a67f /bitbake | |
parent | 942e35d65167a6073afb68a6d2598e5241680a5e (diff) | |
download | poky-fa34c42d192927345f8c6010bb8feb5ef12c73c5.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: dca5d82830ef2838439e5272da9dac1f28954cf1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-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 6d9cf3f4df..90c610695f 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: |