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
@@ -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)
}
