mirror of
https://github.com/golang/go
synced 2024-11-17 04:55:07 -07:00
syscall: don't defer close raw Socketpair fds in tests
The raw fds are successively wrapped using os.NewFile and will be closed by (*os.File).Close. Avoids a double close, in the worst case closing an unrelated fd. Change-Id: I86aabe5ed865eff43d264ddae1fb07c935868e97 Reviewed-on: https://go-review.googlesource.com/c/go/+/309353 Trust: Tobias Klauser <tobias.klauser@gmail.com> Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
6d8ba77896
commit
58fdac04e4
@ -38,16 +38,19 @@ func TestSCMCredentials(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatalf("Socketpair: %v", err)
|
||||
}
|
||||
defer syscall.Close(fds[0])
|
||||
defer syscall.Close(fds[1])
|
||||
|
||||
err = syscall.SetsockoptInt(fds[0], syscall.SOL_SOCKET, syscall.SO_PASSCRED, 1)
|
||||
if err != nil {
|
||||
syscall.Close(fds[0])
|
||||
syscall.Close(fds[1])
|
||||
t.Fatalf("SetsockoptInt: %v", err)
|
||||
}
|
||||
|
||||
srvFile := os.NewFile(uintptr(fds[0]), "server")
|
||||
cliFile := os.NewFile(uintptr(fds[1]), "client")
|
||||
defer srvFile.Close()
|
||||
defer cliFile.Close()
|
||||
|
||||
srv, err := net.FileConn(srvFile)
|
||||
if err != nil {
|
||||
t.Errorf("FileConn: %v", err)
|
||||
@ -55,8 +58,6 @@ func TestSCMCredentials(t *testing.T) {
|
||||
}
|
||||
defer srv.Close()
|
||||
|
||||
cliFile := os.NewFile(uintptr(fds[1]), "client")
|
||||
defer cliFile.Close()
|
||||
cli, err := net.FileConn(cliFile)
|
||||
if err != nil {
|
||||
t.Errorf("FileConn: %v", err)
|
||||
|
@ -159,8 +159,6 @@ func TestPassFD(t *testing.T) {
|
||||
if err != nil {
|
||||
t.Fatalf("Socketpair: %v", err)
|
||||
}
|
||||
defer syscall.Close(fds[0])
|
||||
defer syscall.Close(fds[1])
|
||||
writeFile := os.NewFile(uintptr(fds[0]), "child-writes")
|
||||
readFile := os.NewFile(uintptr(fds[1]), "parent-reads")
|
||||
defer writeFile.Close()
|
||||
|
Loading…
Reference in New Issue
Block a user