diff options
author | Jürg Billeter <j@bitron.ch> | 2019-12-19 09:00:21 +0100 |
---|---|---|
committer | Jürg Billeter <j@bitron.ch> | 2019-12-19 11:45:33 +0000 |
commit | 31e577bc3472c63be38b89979ae2d42fc93e0ac8 (patch) | |
tree | 356be77e89706cf85446915c3db4d09cd89209d9 | |
parent | 8ec01832ddfa9ce3ac56f3895936d9927f4b4342 (diff) | |
download | buildstream-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.py | 1 |
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() |