• Dave Cheney's avatar
    net: fix race between Close and Read · 1f14d45e
    Dave Cheney authored
    Fixes #3507.
    
    Applied the suggested fix from rsc. If the connection
    is in closing state then errClosing will bubble up to
    the caller.
    
    The fix has been applied to udp, ip and unix as well as
    their code path include nil'ing c.fd on close. Func
    tests are available in the linked issue that verified
    the bug existed there as well.
    
    R=rsc, fullung, alex.brainman, mikioh.mikioh
    CC=golang-dev
    https://golang.org/cl/6002053
    1f14d45e
Name
Last commit
Last update
..
http Loading commit data...
mail Loading commit data...
rpc Loading commit data...
smtp Loading commit data...
testdata Loading commit data...
textproto Loading commit data...
url Loading commit data...
cgo_bsd.go Loading commit data...
cgo_linux.go Loading commit data...
cgo_stub.go Loading commit data...
cgo_unix.go Loading commit data...
dial.go Loading commit data...
dial_test.go Loading commit data...
dialgoogle_test.go Loading commit data...
dnsclient.go Loading commit data...
dnsclient_unix.go Loading commit data...
dnsconfig.go Loading commit data...
dnsmsg.go Loading commit data...
dnsmsg_test.go Loading commit data...
dnsname_test.go Loading commit data...
doc.go Loading commit data...
example_test.go Loading commit data...
fd.go Loading commit data...
fd_darwin.go Loading commit data...
fd_freebsd.go Loading commit data...
fd_linux.go Loading commit data...
fd_netbsd.go Loading commit data...
fd_openbsd.go Loading commit data...
fd_windows.go Loading commit data...
file.go Loading commit data...
file_plan9.go Loading commit data...
file_test.go Loading commit data...
file_windows.go Loading commit data...
hosts.go Loading commit data...
hosts_test.go Loading commit data...
interface.go Loading commit data...
interface_bsd.go Loading commit data...
interface_darwin.go Loading commit data...
interface_freebsd.go Loading commit data...
interface_linux.go Loading commit data...
interface_linux_test.go Loading commit data...
interface_netbsd.go Loading commit data...
interface_openbsd.go Loading commit data...
interface_stub.go Loading commit data...
interface_test.go Loading commit data...
interface_windows.go Loading commit data...
ip.go Loading commit data...
ip_test.go Loading commit data...
ipraw_test.go Loading commit data...
iprawsock.go Loading commit data...
iprawsock_plan9.go Loading commit data...
iprawsock_posix.go Loading commit data...
ipsock.go Loading commit data...
ipsock_plan9.go Loading commit data...
ipsock_posix.go Loading commit data...
lookup_plan9.go Loading commit data...
lookup_test.go Loading commit data...
lookup_unix.go Loading commit data...
lookup_windows.go Loading commit data...
mac.go Loading commit data...
mac_test.go Loading commit data...
multicast_test.go Loading commit data...
net.go Loading commit data...
net_test.go Loading commit data...
newpollserver.go Loading commit data...
parse.go Loading commit data...
parse_test.go Loading commit data...
pipe.go Loading commit data...
pipe_test.go Loading commit data...
port.go Loading commit data...
port_test.go Loading commit data...
sendfile_linux.go Loading commit data...
sendfile_stub.go Loading commit data...
sendfile_windows.go Loading commit data...
server_test.go Loading commit data...
sock.go Loading commit data...
sock_bsd.go Loading commit data...
sock_linux.go Loading commit data...
sock_windows.go Loading commit data...
sockopt.go Loading commit data...
sockopt_bsd.go Loading commit data...
sockopt_linux.go Loading commit data...
sockopt_windows.go Loading commit data...
sockoptip.go Loading commit data...
sockoptip_bsd.go Loading commit data...
sockoptip_darwin.go Loading commit data...
sockoptip_freebsd.go Loading commit data...
sockoptip_linux.go Loading commit data...
sockoptip_netbsd.go Loading commit data...
sockoptip_openbsd.go Loading commit data...
sockoptip_windows.go Loading commit data...
tcpsock.go Loading commit data...
tcpsock_plan9.go Loading commit data...
tcpsock_posix.go Loading commit data...
timeout_test.go Loading commit data...
udp_test.go Loading commit data...
udpsock.go Loading commit data...
udpsock_plan9.go Loading commit data...
udpsock_posix.go Loading commit data...
unicast_test.go Loading commit data...
unixsock.go Loading commit data...
unixsock_plan9.go Loading commit data...
unixsock_posix.go Loading commit data...