Explorar o código

Fix goroutine leak on pull

Close the pipeWriter even if there was no error.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Tonis Tiigi %!s(int64=10) %!d(string=hai) anos
pai
achega
3037e4f7c4
Modificáronse 1 ficheiros con 3 adicións e 0 borrados
  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()
 		}
 	}()