You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildstream.apache.org by no...@apache.org on 2020/12/29 12:32:53 UTC
[buildstream] 03/22: job: pickle child jobs on start if
BST_TEST_SUITE
This is an automated email from the ASF dual-hosted git repository.
not-in-ldap pushed a commit to branch aevri/win32_minimal_seemstowork_20190829
in repository https://gitbox.apache.org/repos/asf/buildstream.git
commit 22d06c0b9c853226292892d75d0214ee97eb6c9a
Author: Angelos Evripiotis <je...@bloomberg.net>
AuthorDate: Tue Jul 9 13:39:17 2019 +0100
job: pickle child jobs on start if BST_TEST_SUITE
If we're running BuildStream tests then pickle child jobs.
This ensures that we keep things picklable, whilst we work towards being
able to support platforms that need to use the 'spawn' method of
starting processes.
---
src/buildstream/_scheduler/jobs/job.py | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/buildstream/_scheduler/jobs/job.py b/src/buildstream/_scheduler/jobs/job.py
index 87f4619..47a8622 100644
--- a/src/buildstream/_scheduler/jobs/job.py
+++ b/src/buildstream/_scheduler/jobs/job.py
@@ -34,6 +34,8 @@ from ..._exceptions import ImplError, BstError, set_last_task_error, SkipJob
from ..._message import Message, MessageType, unconditional_messages
from ... import _signals, utils
+from .jobpickler import pickle_child_job
+
# Return code values shutdown of job handling child processes
#
@@ -179,6 +181,9 @@ class Job():
self._task_id,
)
+ if 'BST_TEST_SUITE' in os.environ:
+ pickle_child_job(child_job, self._scheduler.context)
+
self._process = Process(target=child_job.child_action, args=[self._queue])
# Block signals which are handled in the main process such that