diff options
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r-- | bitbake/lib/bb/server/process.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/bitbake/lib/bb/server/process.py b/bitbake/lib/bb/server/process.py index 916ee0a0e5..db417c8428 100644 --- a/bitbake/lib/bb/server/process.py +++ b/bitbake/lib/bb/server/process.py | |||
@@ -405,7 +405,11 @@ class ProcessServer(): | |||
405 | nextsleep = 0.1 | 405 | nextsleep = 0.1 |
406 | fds = [] | 406 | fds = [] |
407 | 407 | ||
408 | self.cooker.process_inotify_updates() | 408 | try: |
409 | self.cooker.process_inotify_updates() | ||
410 | except Exception as exc: | ||
411 | serverlog("Exception %s in inofify updates broke the idle_thread, exiting" % traceback.format_exc()) | ||
412 | self.quit = True | ||
409 | 413 | ||
410 | with bb.utils.lock_timeout(self._idlefuncsLock): | 414 | with bb.utils.lock_timeout(self._idlefuncsLock): |
411 | items = list(self._idlefuns.items()) | 415 | items = list(self._idlefuns.items()) |
@@ -473,6 +477,10 @@ class ProcessServer(): | |||
473 | if not self.idle: | 477 | if not self.idle: |
474 | self.idle = threading.Thread(target=self.idle_thread) | 478 | self.idle = threading.Thread(target=self.idle_thread) |
475 | self.idle.start() | 479 | self.idle.start() |
480 | elif self.idle and not self.idle.is_alive(): | ||
481 | serverlog("Idle thread terminated, main thread exiting too") | ||
482 | bb.error("Idle thread terminated, main thread exiting too") | ||
483 | self.quit = True | ||
476 | 484 | ||
477 | if nextsleep is not None: | 485 | if nextsleep is not None: |
478 | if self.xmlrpc: | 486 | if self.xmlrpc: |