status, err := process.Wait() if err != nil { exitError, ok := err.(*exec.ExitError) if ok { status = exitError.ProcessState } else { tty.Close() if created { container.Destroy() } fatal(err) } } if created { status, err := container.Status() if err != nil { tty.Close() fatal(err) } if status != libcontainer.Checkpointed { if err := container.Destroy(); err != nil { tty.Close() fatal(err) } } } tty.Close() os.Exit(utils.ExitStatus(status.Sys().(syscall.WaitStatus))) },