summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-08-20 22:31:06 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-08-23 09:31:42 +0100
commitdb50630948394bdcd361f3511af40c1896b1a017 (patch)
treeaf4bc3aab7e37f2eaa60d6b62e6eb01bf5964a08
parentb4ad9de91e4a3201d007a44603c65c8f89352a76 (diff)
downloadpoky-db50630948394bdcd361f3511af40c1896b1a017.tar.gz
bitbake: process: Deal with infinite looping of the server
Currently if an exception occurs, we just run the idle handler again and again, usually looping indefintely. Chances are the exception that occurred will keep occuring and this is not a good place to be. This was breaking the autobuilders with gigabytes of logs. At least improve things so the cooker shuts down gracefully when this happens. Some trace of the original problem may still be present on the console too! (Bitbake rev: 1f28d8d3311262427938180435b68f0a35c2b330) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--bitbake/lib/bb/server/process.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/bitbake/lib/bb/server/process.py b/bitbake/lib/bb/server/process.py
index 577c2503ac..84f3a75412 100644
--- a/bitbake/lib/bb/server/process.py
+++ b/bitbake/lib/bb/server/process.py
@@ -139,6 +139,8 @@ class ProcessServer(Process, BaseImplServer):
139 raise 139 raise
140 except Exception: 140 except Exception:
141 logger.exception('Running idle function') 141 logger.exception('Running idle function')
142 del self._idlefuns[function]
143 self.quit = True
142 144
143 if nextsleep is not None: 145 if nextsleep is not None:
144 select.select(fds,[],[],nextsleep) 146 select.select(fds,[],[],nextsleep)