compress/gzip: always close bodyReader in Example_compressingReader
For #53362
Fixes #53414
Change-Id: I352164e70c136eed210c7ee4ceba5dc631f81f94
Reviewed-on: https://go-review.googlesource.com/c/go/+/412955
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Joseph Tsai <joetsai@digital-static.net>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Run-TryBot: Ian Lance Taylor <iant@google.com>
Reviewed-by: Alex Rakoczy <alex@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
diff --git a/src/compress/gzip/example_test.go b/src/compress/gzip/example_test.go
index 27aae15..1ba4080 100644
--- a/src/compress/gzip/example_test.go
+++ b/src/compress/gzip/example_test.go
@@ -160,6 +160,10 @@
// httpWriter is the body of the HTTP request, as an io.Writer.
bodyReader, httpWriter := io.Pipe()
+ // Make sure that bodyReader is always closed, so that the
+ // goroutine below will always exit.
+ defer bodyReader.Close()
+
// gzipWriter compresses data to httpWriter.
gzipWriter := gzip.NewWriter(httpWriter)
@@ -197,7 +201,6 @@
// Note that passing req to http.Client.Do promises that it
// will close the body, in this case bodyReader.
- // That ensures that the goroutine will exit.
resp, err := ts.Client().Do(req)
if err != nil {
log.Fatal(err)