Fix restore container by nspid

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 9f03fd76b578f2d9d00b0a1bd76b776e20a7d681
Component: engine
This commit is contained in:
Michael Crosby
2014-02-24 16:35:11 -08:00
parent 471c8027da
commit b697db52c8
@@ -112,7 +112,24 @@ func (d *driver) Kill(p *execdriver.Command, sig int) error {
}
func (d *driver) Restore(c *execdriver.Command) error {
return ErrNotSupported
var (
nspid int
p = filepath.Join(d.root, "containers", c.ID, "root", ".nspid")
)
f, err := os.Open(p)
if err != nil {
return err
}
defer f.Close()
if _, err := fmt.Fscanf(f, "%d", &nspid); err != nil {
return err
}
proc, err := os.FindProcess(nspid)
if err != nil {
return err
}
_, err = proc.Wait()
return err
}
func (d *driver) Info(id string) execdriver.Info {