]> Cypherpunks repositories - gostls13.git/commitdiff
net: add missing locking in windows Shutdown
authorAlex Brainman <alex.brainman@gmail.com>
Fri, 2 Nov 2012 09:46:47 +0000 (20:46 +1100)
committerAlex Brainman <alex.brainman@gmail.com>
Fri, 2 Nov 2012 09:46:47 +0000 (20:46 +1100)
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6811069

src/pkg/net/fd_windows.go

index 040439ab3b06ae254c656d79ab04c553b241e71f..5f4312589212e1b54ee72ff422000f17b5413a78 100644 (file)
@@ -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}