Jelajahi Sumber

Fix goroutine leak on pull

Close the pipeWriter even if there was no error.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Tonis Tiigi 10 tahun lalu
induk
melakukan
3037e4f7c4
1 mengubah file dengan 3 tambahan dan 0 penghapusan
  1. 3 0
      graph/pull_v2.go

+ 3 - 0
graph/pull_v2.go

@@ -230,6 +230,9 @@ func (p *v2Puller) pullV2Tag(out io.Writer, tag, taggedName string) (verified bo
 			// set the error. All successive reads/writes will return with this
 			// error.
 			pipeWriter.CloseWithError(errors.New("download canceled"))
+		} else {
+			// If no error then just close the pipe.
+			pipeWriter.Close()
 		}
 	}()