Skip to contentSkip to conversation

runqueue: Fix 100% cpu use after keyboard interrupt

PATCH New Richard Purdie 1 participant 1 message Dec 8, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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/lib/bb/runqueue.py +4 -5
index a4d86ef..a6da72b 100644
@@ -1078,7 +1078,7 @@ class RunQueue:
             retval = self.rqexe.execute()
 
         if self.state is runQueueCleanUp:
-           self.rqexe.finish()
+            retval = self.rqexe.finish()
 
         if (self.state is runQueueComplete or self.state is runQueueFailed) and self.rqexe:
             self.teardown_workers()
@@ -1320,15 +1320,14 @@ class RunQueueExecute:
         if self.stats.active > 0:
             bb.event.fire(runQueueExitWait(self.stats.active), self.cfgData)
             self.rq.read_workers()
-
-            return
+            return self.rq.active_fds()
 
         if len(self.failed_fnids) != 0:
             self.rq.state = runQueueFailed
-            return
+            return True
 
         self.rq.state = runQueueComplete
-        return
+        return True
 
     def check_dependencies(self, task, taskdeps, setscene = False):
         if not self.rq.depvalidate: