Remove goroutine leak upon error
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack) Upstream-commit: 721562f29685ebf3f3698113cf0ce8000c02e606 Component: engine
This commit is contained in:
@ -168,6 +168,9 @@ func (d *driver) Run(c *execdriver.Command, pipes *execdriver.Pipes, startCallba
|
||||
// Poll lxc for RUNNING status
|
||||
pid, err := d.waitForStart(c, waitLock)
|
||||
if err != nil {
|
||||
if c.Process != nil {
|
||||
c.Process.Kill()
|
||||
}
|
||||
return -1, err
|
||||
}
|
||||
c.ContainerPid = pid
|
||||
|
||||
@ -2384,7 +2384,13 @@ func (srv *Server) IsRunning() bool {
|
||||
}
|
||||
|
||||
func (srv *Server) Close() error {
|
||||
if srv == nil {
|
||||
return nil
|
||||
}
|
||||
srv.SetRunning(false)
|
||||
if srv.runtime == nil {
|
||||
return nil
|
||||
}
|
||||
return srv.runtime.Close()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user