summaryrefslogtreecommitdiffstats
path: root/lib/bb/cooker.py
diff options
context:
space:
mode:
authorEd Bartosh <ed.bartosh@linux.intel.com>2016-02-04 19:23:39 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-02-06 23:13:25 +0000
commit3f67600dc3292bc8208644ce89e8bf7ab95cf2e7 (patch)
tree1f602bc3827074bd640eaaa69ef609fc9adc618c /lib/bb/cooker.py
parent4fb028b0bd14d3e4b3fd7a89c643528728566476 (diff)
downloadbitbake-contrib-3f67600dc3292bc8208644ce89e8bf7ab95cf2e7.tar.gz
cooker: shutdown cooker parser on shutdown
Currently any not catched exception in cooker causes bitbake to hang because of not terminated children of CookerParser. Long term solution would be to reimplement Cooker as a context manager and terminate parser children in its __exit__ method. Partial fix is to call CookerParser.shutdown in Cooker.shutdown in hope that all Cooker exceptions are caught and shutdown method is called. [YOCTO #8900] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/cooker.py')
-rw-r--r--lib/bb/cooker.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index edd682bf0..df730f6fe 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -1635,6 +1635,9 @@ class BBCooker:
else:
self.state = state.shutdown
+ if self.parser:
+ self.parser.shutdown(clean=not force, force=force)
+
def finishcommand(self):
self.state = state.initial