diff options
-rw-r--r-- | bitbake/lib/bb/cooker.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 6e1d59bb3a..ec1b35d724 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py | |||
@@ -2077,6 +2077,14 @@ class CookerParser(object): | |||
2077 | for process in self.processes: | 2077 | for process in self.processes: |
2078 | self.parser_quit.put(None) | 2078 | self.parser_quit.put(None) |
2079 | 2079 | ||
2080 | # Cleanup the queue before call process.join(), otherwise there might be | ||
2081 | # deadlocks. | ||
2082 | while True: | ||
2083 | try: | ||
2084 | self.result_queue.get(timeout=0.25) | ||
2085 | except queue.Empty: | ||
2086 | break | ||
2087 | |||
2080 | for process in self.processes: | 2088 | for process in self.processes: |
2081 | if force: | 2089 | if force: |
2082 | process.join(.1) | 2090 | process.join(.1) |