mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Make TarStream return an io.ReadCloser
Currently, the resources associated with the io.Reader returned by TarStream are only freed when it is read until EOF. This means that partial uploads or exports (for example, in the case of a full disk or severed connection) can leak a goroutine and open file. This commit changes TarStream to return an io.ReadCloser. Resources are freed when Close is called. Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
This commit is contained in:
parent
49088b0b89
commit
21278efaee
11 changed files with 16 additions and 20 deletions
|
@ -155,6 +155,7 @@ func (daemon *Daemon) exportContainerRw(container *Container) (archive.Archive,
|
|||
return nil, err
|
||||
}
|
||||
return ioutils.NewReadCloserWrapper(archive, func() error {
|
||||
archive.Close()
|
||||
return daemon.layerStore.Unmount(container.ID)
|
||||
}),
|
||||
nil
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue