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)