Update wait calls to call Wait on Command

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
This commit is contained in:
Michael Crosby 2014-05-27 13:38:24 -07:00
parent eb075733c5
commit c8a8176936
2 changed files with 4 additions and 6 deletions

View file

@ -56,7 +56,7 @@ func Exec(container *libcontainer.Container, term Terminal, rootfs, dataPath str
} }
if err := WritePid(dataPath, command.Process.Pid, started); err != nil { if err := WritePid(dataPath, command.Process.Pid, started); err != nil {
command.Process.Kill() command.Process.Kill()
command.Process.Wait() command.Wait()
return -1, err return -1, err
} }
defer DeletePid(dataPath) defer DeletePid(dataPath)
@ -66,7 +66,7 @@ func Exec(container *libcontainer.Container, term Terminal, rootfs, dataPath str
cleaner, err := SetupCgroups(container, command.Process.Pid) cleaner, err := SetupCgroups(container, command.Process.Pid)
if err != nil { if err != nil {
command.Process.Kill() command.Process.Kill()
command.Process.Wait() command.Wait()
return -1, err return -1, err
} }
if cleaner != nil { if cleaner != nil {
@ -75,7 +75,7 @@ func Exec(container *libcontainer.Container, term Terminal, rootfs, dataPath str
if err := InitializeNetworking(container, command.Process.Pid, syncPipe); err != nil { if err := InitializeNetworking(container, command.Process.Pid, syncPipe); err != nil {
command.Process.Kill() command.Process.Kill()
command.Process.Wait() command.Wait()
return -1, err return -1, err
} }

View file

@ -126,9 +126,7 @@ func RestoreParentDeathSignal(old int) error {
// Signal self if parent is already dead. Does nothing if running in a new // Signal self if parent is already dead. Does nothing if running in a new
// PID namespace, as Getppid will always return 0. // PID namespace, as Getppid will always return 0.
if syscall.Getppid() == 1 { if syscall.Getppid() == 1 {
err := syscall.Kill(syscall.Getpid(), syscall.Signal(old)) return syscall.Kill(syscall.Getpid(), syscall.SIGKILL)
syscall.Wait4(syscall.Getpid(), nil, 0, nil)
return err
} }
return nil return nil