diff --git a/runtime/container.go b/runtime/container.go index 8375905..5919485 100644 --- a/runtime/container.go +++ b/runtime/container.go @@ -143,7 +143,7 @@ func New(opts ContainerOpts) (Container, error) { } // Load return a new container from the matchin state file on disk. -func Load(root, id string, timeout time.Duration) (Container, error) { +func Load(root, id, shimName string, timeout time.Duration) (Container, error) { var s state f, err := os.Open(filepath.Join(root, id, StateFile)) if err != nil { @@ -165,6 +165,11 @@ func Load(root, id string, timeout time.Duration) (Container, error) { processes: make(map[string]*process), timeout: timeout, } + + if c.shim == "" { + c.shim = shimName + } + dirs, err := ioutil.ReadDir(filepath.Join(root, id)) if err != nil { return nil, err diff --git a/supervisor/supervisor.go b/supervisor/supervisor.go index 67b7adc..f80dee3 100644 --- a/supervisor/supervisor.go +++ b/supervisor/supervisor.go @@ -307,7 +307,7 @@ func (s *Supervisor) restore() error { continue } id := d.Name() - container, err := runtime.Load(s.stateDir, id, s.timeout) + container, err := runtime.Load(s.stateDir, id, s.shim, s.timeout) if err != nil { return err }