diff --git a/start.go b/start.go index e8b4f5cb5..7e268d024 100644 --- a/start.go +++ b/start.go @@ -85,7 +85,9 @@ var initCommand = cli.Command{ runtime.LockOSThread() factory, _ := libcontainer.New("") if err := factory.StartInitialization(); err != nil { - fatal(err) + // as the error is sent back to the parent there is no need to log + // or write it to stderr because the parent process will handle this + os.Exit(1) } panic("libcontainer: container init failed to exec") }, diff --git a/utils.go b/utils.go index 3b43e8536..6d3c73442 100644 --- a/utils.go +++ b/utils.go @@ -150,33 +150,15 @@ func containerPreload(context *cli.Context) error { // loadFactory returns the configured factory instance for execing containers. func loadFactory(context *cli.Context) (libcontainer.Factory, error) { - var ( - debug = "false" - root = context.GlobalString("root") - ) - if context.GlobalBool("debug") { - debug = "true" - } + root := context.GlobalString("root") abs, err := filepath.Abs(root) if err != nil { return nil, err } - var logAbs string - if l := context.GlobalString("log"); l != "" { - if logAbs, err = filepath.Abs(context.GlobalString("log")); err != nil { - return nil, err - } - } return libcontainer.New(abs, libcontainer.Cgroupfs, func(l *libcontainer.LinuxFactory) error { l.CriuPath = context.GlobalString("criu") return nil - }, - libcontainer.InitArgs(os.Args[0], - "--log", logAbs, - "--log-format", context.GlobalString("log-format"), - fmt.Sprintf("--debug=%s", debug), - "init"), - ) + }) } // getContainer returns the specified container instance by loading it from state