summaryrefslogtreecommitdiffstats
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:47 +0000
commit916c73dfefe0c4f960299ead6b4b7b3dcb18fc89 (patch)
treeb7c043c5efb24163d3acd3958629aeb3933cd17e
parent8857498ba4a9243fda1b79f2a359ec8e4139c6c3 (diff)
downloadpoky-916c73dfefe0c4f960299ead6b4b7b3dcb18fc89.tar.gz
bitbake: 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] (Bitbake rev: 3f67600dc3292bc8208644ce89e8bf7ab95cf2e7) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--bitbake/lib/bb/cooker.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index edd682bf0a..df730f6fe7 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -1635,6 +1635,9 @@ class BBCooker:
1635 else: 1635 else:
1636 self.state = state.shutdown 1636 self.state = state.shutdown
1637 1637
1638 if self.parser:
1639 self.parser.shutdown(clean=not force, force=force)
1640
1638 def finishcommand(self): 1641 def finishcommand(self):
1639 self.state = state.initial 1642 self.state = state.initial
1640 1643