diff options
author | Benjamin Schubert <contact@benschubert.me> | 2019-11-08 14:34:12 +0000 |
---|---|---|
committer | bst-marge-bot <marge-bot@buildstream.build> | 2019-11-13 16:01:32 +0000 |
commit | d20f90b265647d3dd98e65bf201ad87b7960018d (patch) | |
tree | aef6a12046e69a4453892fb3ba205ef3a2ddea35 | |
parent | 928d66b094eb528f98666c15f4ee37c5c5863244 (diff) | |
download | buildstream-d20f90b265647d3dd98e65bf201ad87b7960018d.tar.gz |
job.py: Gracefully handle killed subprocesses
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 | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/buildstream/_scheduler/jobs/job.py b/src/buildstream/_scheduler/jobs/job.py index 9570fea62..3363d7b60 100644 --- a/src/buildstream/_scheduler/jobs/job.py +++ b/src/buildstream/_scheduler/jobs/job.py @@ -46,6 +46,7 @@ class _ReturnCode(FastEnum): PERM_FAIL = 2 SKIPPED = 3 TERMINATED = 4 + KILLED = -9 # JobStatus: @@ -463,6 +464,13 @@ class Job(): self.message(MessageType.ERROR, "Process was terminated unexpectedly") status = JobStatus.FAIL + elif returncode == _ReturnCode.KILLED: + if self._terminated: + self.message(MessageType.INFO, "Process was killed") + else: + self.message(MessageType.ERROR, "Process was killed unexpectedly") + + status = JobStatus.FAIL else: status = JobStatus.FAIL |