summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/utils.py
diff options
context:
space:
mode:
authorJoshua Watt <JPEWhacker@gmail.com>2025-08-22 00:40:37 +0200
committerSteve Sakoman <steve@sakoman.com>2025-09-17 15:32:27 -0700
commitec065ce64c1d0155e8566c7dd12911ae0c7a04d0 (patch)
tree6f7ec4787ecf27374c063f426b3a9d91a08d53cc /bitbake/lib/bb/utils.py
parent5495d8b6ff75e625e78b94503acbb35d0247709c (diff)
downloadpoky-ec065ce64c1d0155e8566c7dd12911ae0c7a04d0.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: 0d9d8d0863e82e986c33c08064ce9a99224a06d5) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Steve Sakoman <steve@sakoman.com>
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 0832422683..694e79f552 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
@@ -1198,8 +1198,6 @@ def process_profilelog(fn, pout = None):
1198# 1198#
1199def multiprocessingpool(*args, **kwargs): 1199def multiprocessingpool(*args, **kwargs):
1200 1200
1201 import multiprocessing.pool
1202 #import multiprocessing.util
1203 #multiprocessing.util.log_to_stderr(10) 1201 #multiprocessing.util.log_to_stderr(10)
1204 # Deal with a multiprocessing bug where signals to the processes would be delayed until the work 1202 # Deal with a multiprocessing bug where signals to the processes would be delayed until the work
1205 # completes. Putting in a timeout means the signals (like SIGINT/SIGTERM) get processed. 1203 # completes. Putting in a timeout means the signals (like SIGINT/SIGTERM) get processed.