summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r--bitbake/lib/bb/server/process.py10
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: