diff options
author | Joshua Watt <JPEWhacker@gmail.com> | 2025-07-21 13:40:18 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-07-23 11:34:31 +0100 |
commit | d363bc475a80c7ac0b0126de6dbd2017287dc1d2 (patch) | |
tree | 81c468c5dde497bfb063123a2c520a26b713abc2 /bitbake/lib/bb/tests/support/httpserver.py | |
parent | 92b07bd4ab7a2838899399f81a2a10efc609baf1 (diff) | |
download | poky-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.py | 4 |
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 | ||
5 | import http.server | 5 | import http.server |
6 | import multiprocessing | 6 | from bb import multiprocessing |
7 | import os | 7 | import os |
8 | import traceback | 8 | import traceback |
9 | import signal | 9 | import 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) |