Skip to content

Commit f659381

Browse files
committed
Merge pull request docker-archive#400 from mrunalp/exit_cleanup
Exit related cleanup
2 parents fff015f + f9590b0 commit f659381

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

nsinit/exec.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package main
22

33
import (
44
"os"
5+
"os/exec"
56
"os/signal"
67
"syscall"
78

@@ -81,13 +82,19 @@ func execAction(context *cli.Context) {
8182
}
8283
fatal(err)
8384
}
85+
8486
status, err := process.Wait()
8587
if err != nil {
86-
tty.Close()
87-
if created {
88-
container.Destroy()
88+
exitError, ok := err.(*exec.ExitError)
89+
if ok {
90+
status = exitError.ProcessState
91+
} else {
92+
tty.Close()
93+
if created {
94+
container.Destroy()
95+
}
96+
fatal(err)
8997
}
90-
fatal(err)
9198
}
9299
if created {
93100
if err := container.Destroy(); err != nil {

nsinit/utils.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ func fatal(err error) {
5050
os.Exit(1)
5151
}
5252
fmt.Fprintln(os.Stderr, err)
53+
os.Exit(1)
5354
}
5455

5556
func fatalf(t string, v ...interface{}) {

0 commit comments

Comments
 (0)