aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Watt <JPEWhacker@gmail.com>2020-09-14 16:17:35 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-09-14 22:25:12 +0100
commit9f4207f4b598f549cbd4159841c720276736f23b (patch)
treef13639c88bb039cf92cda06529df859b6ec62e73
parenta1b7ab5c9d5e64969f5ca0e41c0ac13c723e3761 (diff)
downloadbitbake-9f4207f4b598f549cbd4159841c720276736f23b.tar.gz
cooker: Block SIGINT in worker processes
Blocks SIGINT in the worker processes to prevent them from running the parent process signal handler, which causes them to deadlock under certain circumstances. [YOCTO #14034] Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/cooker.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 58c223c1c..5442f7d22 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -2093,6 +2093,7 @@ class CookerParser(object):
def init():
signal.signal(signal.SIGTERM, signal.SIG_DFL)
signal.signal(signal.SIGHUP, signal.SIG_DFL)
+ signal.signal(signal.SIGINT, signal.SIG_IGN)
bb.utils.set_process_name(multiprocessing.current_process().name)
multiprocessing.util.Finalize(None, bb.codeparser.parser_cache_save, exitpriority=1)
multiprocessing.util.Finalize(None, bb.fetch.fetcher_parse_save, exitpriority=1)