diff options
| -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: |
