From 4855c1c14589de01140087f93ecbd9153c9b1a8b Mon Sep 17 00:00:00 2001 From: Alex Brainman Date: Wed, 5 Dec 2012 15:26:18 +1100 Subject: [PATCH] net: change windows netFD finalizer to behave similar to unix R=dave, mikioh.mikioh CC=golang-dev https://golang.org/cl/6873046 --- src/pkg/net/fd_windows.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/pkg/net/fd_windows.go b/src/pkg/net/fd_windows.go index b88c5d474b..44b6663af9 100644 --- a/src/pkg/net/fd_windows.go +++ b/src/pkg/net/fd_windows.go @@ -300,7 +300,6 @@ func allocFD(fd syscall.Handle, family, sotype int, net string) *netFD { net: net, closec: make(chan bool), } - runtime.SetFinalizer(netfd, (*netFD).Close) return netfd } @@ -319,6 +318,7 @@ func newFD(fd syscall.Handle, family, proto int, net string) (*netFD, error) { func (fd *netFD) setAddr(laddr, raddr Addr) { fd.laddr = laddr fd.raddr = raddr + runtime.SetFinalizer(fd, (*netFD).closesocket) } func (fd *netFD) connect(ra syscall.Sockaddr) error { @@ -398,6 +398,10 @@ func (fd *netFD) CloseWrite() error { return fd.shutdown(syscall.SHUT_WR) } +func (fd *netFD) closesocket() error { + return closesocket(fd.sysfd) +} + // Read from network. type readOp struct { -- 2.48.1