diff options
author | Peter Hunt <pehunt@redhat.com> | 2020-03-04 16:21:01 -0500 |
---|---|---|
committer | Peter Hunt <pehunt@redhat.com> | 2020-03-04 17:10:14 -0500 |
commit | 4632b81c81a73025a960e339f40bc805f8a6c70a (patch) | |
tree | cd6da9c334a0f84eaf7b9f67e6b5f241eb46117f /libpod | |
parent | 797da2a57b43d1190dd1fb6ec78dcc9ec76c3bd3 (diff) | |
download | podman-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.go | 6 |
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) } |