From 269ff8e6030cacd3a8ef5804f39c50566ce6f57e Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Mon, 5 Sep 2016 20:16:16 +0000 Subject: [PATCH] io: make MultiReader nil exhausted Readers for earlier GC No test because the language spec makes no promises in this area. Fixes #16983 Change-Id: I1a6aa7ff87dd14aa27e8400040a6f6fc908aa1fd Reviewed-on: https://go-review.googlesource.com/28533 Run-TryBot: Brad Fitzpatrick TryBot-Result: Gobot Gobot Reviewed-by: Keith Randall Reviewed-by: Joe Tsai --- src/io/multi.go | 1 + 1 file changed, 1 insertion(+) diff --git a/src/io/multi.go b/src/io/multi.go index 3a9d03652b..46e45a60e8 100644 --- a/src/io/multi.go +++ b/src/io/multi.go @@ -19,6 +19,7 @@ func (mr *multiReader) Read(p []byte) (n int, err error) { } n, err = mr.readers[0].Read(p) if err == EOF { + mr.readers[0] = nil // permit earlier GC mr.readers = mr.readers[1:] } if n > 0 || err != EOF { -- 2.48.1