diff options
author | Benjamin Schubert <contact@benschubert.me> | 2019-11-08 14:34:12 +0000 |
---|---|---|
committer | Benjamin Schubert <contact@benschubert.me> | 2019-11-08 14:58:54 +0000 |
commit | f59d4e3f44fc2691392cc3b6431f30ba3b81e9b6 (patch) | |
tree | cb452a9c750d339297025bb9c1c443daec231c1f | |
parent | 64c6f7daef8e6c9d9b883dfc0589001a4cb5df09 (diff) | |
download | buildstream-bschubert/graceful-children-sigterm.tar.gz |
job.py: Gracefully handle killed subprocessesbschubert/graceful-children-sigterm
This ensures that we don't show an unexpected error when we
forcefully kill one of our workers
-rw-r--r-- | src/buildstream/_scheduler/jobs/job.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/buildstream/_scheduler/jobs/job.py b/src/buildstream/_scheduler/jobs/job.py index 975e45c2f..d049373ff 100644 --- a/src/buildstream/_scheduler/jobs/job.py +++ b/src/buildstream/_scheduler/jobs/job.py @@ -45,6 +45,7 @@ class _ReturnCode(FastEnum): PERM_FAIL = 2 SKIPPED = 3 TERMINATED = 4 + KILLED = -9 # JobStatus: @@ -462,6 +463,9 @@ class Job(): self.message(MessageType.ERROR, "Process got terminated") status = JobStatus.FAIL + elif returncode == _ReturnCode.KILLED: + if not self._terminated: + self.message(MessageType.ERROR, "Process got killed without our knowledge") else: status = JobStatus.FAIL |