Only set socket on non-nil type creation

Because of go interface unpacking we need to only set the interface on
the opts when we actually have a socket.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
Michael Crosby 2017-04-13 09:47:14 -07:00
parent 4a749ad473
commit e46109ba81
2 changed files with 12 additions and 9 deletions

View File

@ -60,11 +60,12 @@ func newExecProcess(context context.Context, path string, r *shimapi.ExecRequest
}
opts := &runc.ExecOpts{
PidFile: pidfile,
ConsoleSocket: socket,
IO: io,
Detach: true,
}
if socket != nil {
opts.ConsoleSocket = socket
}
// process exec request
var spec specs.Process
if err := json.Unmarshal(r.Spec.Value, &spec); err != nil {

View File

@ -74,10 +74,12 @@ func newInitProcess(context context.Context, path string, r *shimapi.CreateReque
}
opts := &runc.CreateOpts{
PidFile: filepath.Join(path, "init.pid"),
ConsoleSocket: socket,
IO: io,
NoPivot: r.NoPivot,
}
if socket != nil {
opts.ConsoleSocket = socket
}
if err := p.runc.Create(context, r.ID, r.Bundle, opts); err != nil {
return nil, err
}