summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/utils.py
diff options
context:
space:
mode:
authorJoshua Watt <JPEWhacker@gmail.com>2025-07-21 13:40:18 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-07-23 11:34:31 +0100
commitd363bc475a80c7ac0b0126de6dbd2017287dc1d2 (patch)
tree81c468c5dde497bfb063123a2c520a26b713abc2 /bitbake/lib/bb/utils.py
parent92b07bd4ab7a2838899399f81a2a10efc609baf1 (diff)
downloadpoky-d363bc475a80c7ac0b0126de6dbd2017287dc1d2.tar.gz
bitbake: Use a "fork" multiprocessing context
Python 3.14 changes the default multiprocessing context from "fork" to "forkserver"; however bitbake heavily relies on "fork" to efficiently pass data to the child processes. As such, make "fork" context in the bb namespace and use it in place of the normal multiprocessing module. Note that multiprocessing contexts were added in Python 3.4, so this should be safe to use even before Python 3.14 [YOCTO #15858] (Bitbake rev: 62be9113d98fccb347c6aa0a10d5c4ee2857f8b6) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/utils.py')
-rw-r--r--bitbake/lib/bb/utils.py4
1 files changed, 1 insertions, 3 deletions
diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py
index c288c826c0..5c464b18d3 100644
--- a/bitbake/lib/bb/utils.py
+++ b/bitbake/lib/bb/utils.py
@@ -12,7 +12,7 @@ import sys
12import errno 12import errno
13import logging 13import logging
14import locale 14import locale
15import multiprocessing 15from bb import multiprocessing
16import importlib 16import importlib
17import importlib.machinery 17import importlib.machinery
18import importlib.util 18import importlib.util
@@ -1484,8 +1484,6 @@ def process_profilelog(fn, fn_out = None):
1484# 1484#
1485def multiprocessingpool(*args, **kwargs): 1485def multiprocessingpool(*args, **kwargs):
1486 1486
1487 import multiprocessing.pool
1488 #import multiprocessing.util
1489 #multiprocessing.util.log_to_stderr(10) 1487 #multiprocessing.util.log_to_stderr(10)
1490 # Deal with a multiprocessing bug where signals to the processes would be delayed until the work 1488 # Deal with a multiprocessing bug where signals to the processes would be delayed until the work
1491 # completes. Putting in a timeout means the signals (like SIGINT/SIGTERM) get processed. 1489 # completes. Putting in a timeout means the signals (like SIGINT/SIGTERM) get processed.