Remove goroutine leak upon error

Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)
This commit is contained in:
Guillaume J. Charmes 2014-03-11 11:39:28 -07:00
parent 0a6d9035cf
commit 721562f296
No known key found for this signature in database
GPG Key ID: B33E4642CB6E3FF3
2 changed files with 9 additions and 0 deletions

View File

@ -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

View File

@ -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()
}