summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2019-12-19 09:00:21 +0100
committerJürg Billeter <j@bitron.ch>2019-12-19 09:19:30 +0100
commit9fdef4dfae94015cb1c23b12a9d225d717b265cf (patch)
tree9c558d69f4a987424a503ccb311fd4e81f8bc775
parentd1d898bdc60dc35ff618039775d53bb96774b836 (diff)
downloadbuildstream-juerg/job-process-close.tar.gz
job.py: Do not call Process.close()juerg/job-process-close
As we handle subprocess termination by pid with an asyncio child watcher, the multiprocessing.Process object does not get notified when the process terminates. And as the child watcher reaps the process, the pid is no longer valid and the Process object is unable to check whether the process is dead. This results in Process.close() raising a ValueError. Fixes: 9c23ce5c ("job.py: Replace message queue with pipe")
-rw-r--r--src/buildstream/_scheduler/jobs/job.py1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/buildstream/_scheduler/jobs/job.py b/src/buildstream/_scheduler/jobs/job.py
index 07bbe9c60..b4060910b 100644
--- a/src/buildstream/_scheduler/jobs/job.py
+++ b/src/buildstream/_scheduler/jobs/job.py
@@ -452,7 +452,6 @@ class Job:
# Force the deletion of the pipe and process objects to try and clean up FDs
self._pipe_r.close()
- self._process.close()
self._pipe_r = self._process = None
# _parent_process_envelope()