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 11:45:33 +0000
commit31e577bc3472c63be38b89979ae2d42fc93e0ac8 (patch)
tree356be77e89706cf85446915c3db4d09cd89209d9
parent8ec01832ddfa9ce3ac56f3895936d9927f4b4342 (diff)
downloadbuildstream-31e577bc3472c63be38b89979ae2d42fc93e0ac8.tar.gz
job.py: Do not call 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()