summaryrefslogtreecommitdiff
path: root/libpod
diff options
context:
space:
mode:
authorPeter Hunt <pehunt@redhat.com>2020-03-04 16:21:01 -0500
committerPeter Hunt <pehunt@redhat.com>2020-03-04 17:10:14 -0500
commit4632b81c81a73025a960e339f40bc805f8a6c70a (patch)
treecd6da9c334a0f84eaf7b9f67e6b5f241eb46117f /libpod
parent797da2a57b43d1190dd1fb6ec78dcc9ec76c3bd3 (diff)
downloadpodman-4632b81c81a73025a960e339f40bc805f8a6c70a.tar.gz
podman-4632b81c81a73025a960e339f40bc805f8a6c70a.tar.bz2
podman-4632b81c81a73025a960e339f40bc805f8a6c70a.zip
exec: fix error code when conmon fails
this is a cosmetic change that makes sure podman returns a sane error code when conmon dies underneath it Signed-off-by: Peter Hunt <pehunt@redhat.com>
Diffstat (limited to 'libpod')
-rw-r--r--libpod/container_api.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/libpod/container_api.go b/libpod/container_api.go
index 356da12d0..dc7470f1a 100644
--- a/libpod/container_api.go
+++ b/libpod/container_api.go
@@ -340,6 +340,12 @@ func (c *Container) Exec(tty, privileged bool, env map[string]string, cmd []stri
if lastErr != nil {
logrus.Errorf(lastErr.Error())
}
+ // ErrorConmonRead is a bogus value set by podman to indicate reading a value from
+ // conmon failed. Since it is specifically not a valid exit code, we should set
+ // a generic error here
+ if exitCodeData.data == define.ErrorConmonRead {
+ exitCodeData.data = define.ExecErrorCodeGeneric
+ }
lastErr = errors.Wrapf(define.ErrOCIRuntime, "non zero exit code: %d", exitCodeData.data)
}