diff options
Diffstat (limited to 'bitbake/lib/bb')
| -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) |
