in main.go [93:113]
func launchRunc(runcPath string, runcArgs []string) int {
cmd := prepareCommand(runcPath, runcArgs)
proc := make(chan os.Signal, signalBufferSize)
// Handle signals before we start command to make sure we don't
// miss any related to cmd.
signal.Notify(proc)
err := cmd.Start()
if err != nil {
return exitCodeFailure
}
// Forward signals after we start command
go func() {
for sig := range proc {
cmd.Process.Signal(sig)
}
}()
err = cmd.Wait()
return processRuncError(err)
}