From 9c9bdcb0ef57b00f0c2f449e23e10ce1fabcde1a Mon Sep 17 00:00:00 2001 From: Michael Crosby Date: Thu, 27 Feb 2014 08:28:02 -0800 Subject: [PATCH] Ensure that the container dir is remove on restore Docker-DCO-1.1-Signed-off-by: Michael Crosby (github: crosbymichael) Upstream-commit: a115ce797b80a14d268fcd96521cf05d1e1074c1 Component: engine --- components/engine/execdriver/native/driver.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/components/engine/execdriver/native/driver.go b/components/engine/execdriver/native/driver.go index dc1c903f01..f2d7ed8ae2 100644 --- a/components/engine/execdriver/native/driver.go +++ b/components/engine/execdriver/native/driver.go @@ -108,20 +108,18 @@ func (d *driver) Kill(p *execdriver.Command, sig int) error { } func (d *driver) Restore(c *execdriver.Command) error { - var ( - nspid int - path = filepath.Join(d.root, c.ID, "pid") - ) - f, err := os.Open(path) + var nspid int + f, err := os.Open(filepath.Join(d.root, c.ID, "pid")) if err != nil { return err } + defer d.removeContainerRoot(c.ID) + if _, err := fmt.Fscanf(f, "%d", &nspid); err != nil { f.Close() return err } f.Close() - defer os.Remove(path) proc, err := os.FindProcess(nspid) if err != nil {