From d363bc475a80c7ac0b0126de6dbd2017287dc1d2 Mon Sep 17 00:00:00 2001 From: Joshua Watt Date: Mon, 21 Jul 2025 13:40:18 -0600 Subject: 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 Signed-off-by: Richard Purdie --- bitbake/lib/bb/utils.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'bitbake/lib/bb/utils.py') 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 import errno import logging import locale -import multiprocessing +from bb import multiprocessing import importlib import importlib.machinery import importlib.util @@ -1484,8 +1484,6 @@ def process_profilelog(fn, fn_out = None): # def multiprocessingpool(*args, **kwargs): - import multiprocessing.pool - #import multiprocessing.util #multiprocessing.util.log_to_stderr(10) # Deal with a multiprocessing bug where signals to the processes would be delayed until the work # completes. Putting in a timeout means the signals (like SIGINT/SIGTERM) get processed. -- cgit v1.2.3-54-g00ecf