fix goroutine leak with close tatLogger in a defer clause

Signed-off-by: Jeff Zvier <zvier20@gmail.com>
This commit is contained in:
Jeff Zvier 2020-08-31 19:31:33 +08:00
parent bc034cc69a
commit 5cec343b15
1 changed files with 1 additions and 1 deletions

View File

@ -1342,6 +1342,7 @@ func (r *layerStore) ApplyDiff(to string, diff io.Reader) (size int64, err error
if err != nil {
return -1, err
}
defer idLogger.Close()
payload, err := asm.NewInputTarStream(io.TeeReader(uncompressed, io.MultiWriter(uncompressedCounter, idLogger)), metadata, storage.NewDiscardFilePutter())
if err != nil {
return -1, err
@ -1356,7 +1357,6 @@ func (r *layerStore) ApplyDiff(to string, diff io.Reader) (size int64, err error
return -1, err
}
compressor.Close()
idLogger.Close()
if err == nil {
if err := os.MkdirAll(filepath.Dir(r.tspath(layer.ID)), 0700); err != nil {
return -1, err