diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-08-20 22:31:06 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-08-23 09:31:42 +0100 |
commit | db50630948394bdcd361f3511af40c1896b1a017 (patch) | |
tree | af4bc3aab7e37f2eaa60d6b62e6eb01bf5964a08 | |
parent | b4ad9de91e4a3201d007a44603c65c8f89352a76 (diff) | |
download | poky-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.py | 2 |
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) |