From: Alex Brainman Date: Fri, 2 Nov 2012 09:46:47 +0000 (+1100) Subject: net: add missing locking in windows Shutdown X-Git-Tag: go1.1rc2~1972 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=90d959be78bc358b02e8a9225c30060999419477;p=gostls13.git net: add missing locking in windows Shutdown R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/6811069 --- diff --git a/src/pkg/net/fd_windows.go b/src/pkg/net/fd_windows.go index 040439ab3b..5f43125892 100644 --- a/src/pkg/net/fd_windows.go +++ b/src/pkg/net/fd_windows.go @@ -371,9 +371,10 @@ func (fd *netFD) Close() error { } func (fd *netFD) shutdown(how int) error { - if fd == nil || fd.sysfd == syscall.InvalidHandle { - return syscall.EINVAL + if err := fd.incref(false); err != nil { + return err } + defer fd.decref() err := syscall.Shutdown(fd.sysfd, how) if err != nil { return &OpError{"shutdown", fd.net, fd.laddr, err}