summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorhaircommander <pehunt@redhat.com>2018-06-05 14:21:41 -0400
committerAtomic Bot <atomic-devel@projectatomic.io>2018-06-07 18:20:19 +0000
commitd7f9781bd6cef1373227585bb3b71f557b818822 (patch)
tree32fa1f268030a04b6eb2154ac3b26dfde8f9f604 /cmd
parentcf7c8295b8875ddd4fe87a4207aa302efbd90b18 (diff)
downloadpodman-d7f9781bd6cef1373227585bb3b71f557b818822.tar.gz
podman-d7f9781bd6cef1373227585bb3b71f557b818822.tar.bz2
podman-d7f9781bd6cef1373227585bb3b71f557b818822.zip
Propegate exit code on Exec calls and integrated test
Signed-off-by: haircommander <pehunt@redhat.com> Closes: #904 Approved by: rhatdan
Diffstat (limited to 'cmd')
-rw-r--r--cmd/podman/main.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/cmd/podman/main.go b/cmd/podman/main.go
index d4c437706..8edecffb3 100644
--- a/cmd/podman/main.go
+++ b/cmd/podman/main.go
@@ -3,7 +3,9 @@ package main
import (
"fmt"
"os"
+ "os/exec"
"runtime/pprof"
+ "syscall"
"github.com/containers/storage/pkg/reexec"
"github.com/pkg/errors"
@@ -175,6 +177,12 @@ func main() {
if debug {
logrus.Errorf(err.Error())
} else {
+ // Retrieve the exit error from the exec call, if it exists
+ if ee, ok := err.(*exec.ExitError); ok {
+ if status, ok := ee.Sys().(syscall.WaitStatus); ok {
+ exitCode = status.ExitStatus()
+ }
+ }
fmt.Fprintln(os.Stderr, err.Error())
}
} else {