diff options
Diffstat (limited to 'bitbake/lib/bb/cooker.py')
| -rw-r--r-- | bitbake/lib/bb/cooker.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 69098ccf91..0ed70f9bd8 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py | |||
| @@ -28,6 +28,7 @@ import sre_constants | |||
| 28 | import threading | 28 | import threading |
| 29 | import multiprocessing | 29 | import multiprocessing |
| 30 | import signal | 30 | import signal |
| 31 | import atexit | ||
| 31 | from cStringIO import StringIO | 32 | from cStringIO import StringIO |
| 32 | from contextlib import closing | 33 | from contextlib import closing |
| 33 | import bb | 34 | import bb |
| @@ -1038,8 +1039,12 @@ class CookerParser(object): | |||
| 1038 | self.task_queue.close() | 1039 | self.task_queue.close() |
| 1039 | for process in self.processes: | 1040 | for process in self.processes: |
| 1040 | process.join() | 1041 | process.join() |
| 1041 | threading.Thread(target=self.bb_cache.sync).start() | 1042 | sync = threading.Thread(target=self.bb_cache.sync) |
| 1042 | threading.Thread(target=bb.codeparser.parser_cache_save(self.cooker.configuration.data)).start() | 1043 | sync.start() |
| 1044 | atexit.register(lambda: sync.join()) | ||
| 1045 | codesync = threading.Thread(target=bb.codeparser.parser_cache_save(self.cooker.configuration.data)) | ||
| 1046 | codesync.start() | ||
| 1047 | atexit.register(lambda: codesync.join()) | ||
| 1043 | if self.error > 0: | 1048 | if self.error > 0: |
| 1044 | raise ParsingErrorsFound() | 1049 | raise ParsingErrorsFound() |
| 1045 | 1050 | ||
