From: Brad Fitzpatrick Date: Mon, 5 Sep 2016 20:16:16 +0000 (+0000) Subject: io: make MultiReader nil exhausted Readers for earlier GC X-Git-Tag: go1.8beta1~1490 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=269ff8e6030cacd3a8ef5804f39c50566ce6f57e;p=gostls13.git 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 --- 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 {