diff options
Diffstat (limited to 'bitbake/lib')
| -rw-r--r-- | bitbake/lib/bb/cooker.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index dea0aadbee..4a4dc385a3 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py | |||
| @@ -1175,7 +1175,7 @@ class BBCooker: | |||
| 1175 | return | 1175 | return |
| 1176 | 1176 | ||
| 1177 | if self.state in (state.shutdown, state.stop): | 1177 | if self.state in (state.shutdown, state.stop): |
| 1178 | self.parser.shutdown(clean=False) | 1178 | self.parser.shutdown(clean=False, force = True) |
| 1179 | sys.exit(1) | 1179 | sys.exit(1) |
| 1180 | 1180 | ||
| 1181 | if self.state != state.parsing: | 1181 | if self.state != state.parsing: |
| @@ -1608,10 +1608,13 @@ class CookerParser(object): | |||
| 1608 | self.parser_quit.put(None) | 1608 | self.parser_quit.put(None) |
| 1609 | 1609 | ||
| 1610 | self.jobs.cancel_join_thread() | 1610 | self.jobs.cancel_join_thread() |
| 1611 | sys.exit(1) | ||
| 1612 | 1611 | ||
| 1613 | for process in self.processes: | 1612 | for process in self.processes: |
| 1614 | process.join() | 1613 | if force: |
| 1614 | process.join(.1) | ||
| 1615 | process.terminate() | ||
| 1616 | else: | ||
| 1617 | process.join() | ||
| 1615 | self.feeder.join() | 1618 | self.feeder.join() |
| 1616 | 1619 | ||
| 1617 | sync = threading.Thread(target=self.bb_cache.sync) | 1620 | sync = threading.Thread(target=self.bb_cache.sync) |
