diff --git a/libcontainer/factory_linux.go b/libcontainer/factory_linux.go index ae5db9cdb..eb2bb5fbe 100644 --- a/libcontainer/factory_linux.go +++ b/libcontainer/factory_linux.go @@ -203,6 +203,9 @@ func (l *LinuxFactory) Load(id string) (Container, error) { root: containerRoot, } c.state = &nullState{c: c} + if err := c.refreshState(); err != nil { + return nil, err + } return c, nil } diff --git a/libcontainer/state_linux.go b/libcontainer/state_linux.go index d352c4826..fcd4e17dc 100644 --- a/libcontainer/state_linux.go +++ b/libcontainer/state_linux.go @@ -214,12 +214,7 @@ func (n *nullState) status() Status { } func (n *nullState) transition(s containerState) error { - switch s.(type) { - case *restoredState: - n.c.state = s - default: - // do nothing for null states - } + n.c.state = s return nil }