summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/tests/support/httpserver.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/tests/support/httpserver.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/tests/support/httpserver.py')
-rw-r--r--bitbake/lib/bb/tests/support/httpserver.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/bitbake/lib/bb/tests/support/httpserver.py b/bitbake/lib/bb/tests/support/httpserver.py
index 78f7660053..03327e923b 100644
--- a/bitbake/lib/bb/tests/support/httpserver.py
+++ b/bitbake/lib/bb/tests/support/httpserver.py
@@ -3,7 +3,7 @@
3# 3#
4 4
5import http.server 5import http.server
6import multiprocessing 6from bb import multiprocessing
7import os 7import os
8import traceback 8import traceback
9import signal 9import signal
@@ -43,7 +43,7 @@ class HTTPService(object):
43 self.process = multiprocessing.Process(target=self.server.server_start, args=[self.root_dir, self.logger]) 43 self.process = multiprocessing.Process(target=self.server.server_start, args=[self.root_dir, self.logger])
44 44
45 # The signal handler from testimage.bbclass can cause deadlocks here 45 # The signal handler from testimage.bbclass can cause deadlocks here
46 # if the HTTPServer is terminated before it can restore the standard 46 # if the HTTPServer is terminated before it can restore the standard
47 #signal behaviour 47 #signal behaviour
48 orig = signal.getsignal(signal.SIGTERM) 48 orig = signal.getsignal(signal.SIGTERM)
49 signal.signal(signal.SIGTERM, signal.SIG_DFL) 49 signal.signal(signal.SIGTERM, signal.SIG_DFL)