1
0
mirror of https://github.com/golang/go synced 2024-11-22 05:14:40 -07:00

os/exec: make sure file is not closed early in leaked fd test

Without this change, fd3 can be collected by the garbage
collector and finalized, which causes the file descriptor to
be closed, which causes the call to os.Open to return 3 rather
than the expected descriptor number.

R=golang-dev, gri, bradfitz, bradfitz, iant
CC=golang-dev
https://golang.org/cl/5607056
This commit is contained in:
Ian Lance Taylor 2012-02-01 16:37:02 -08:00
parent f3f5239d1e
commit 2b8d5be55f

View File

@ -309,6 +309,12 @@ func TestHelperProcess(*testing.T) {
f.Close()
}
}
// Referring to fd3 here ensures that it is not
// garbage collected, and therefore closed, while
// executing the wantfd loop above. It doesn't matter
// what we do with fd3 as long as we refer to it;
// closing it is the easy choice.
fd3.Close()
os.Stderr.Write(bs)
case "exit":
n, _ := strconv.Atoi(args[0])