• Mikio Hara's avatar
    net: prevent spurious on-connect events via epoll on linux · c0325f50
    Mikio Hara authored
    On Linux, adding a socket descriptor to epoll instance before getting
    the EINPROGRESS return value from connect system call could be a root
    cause of spurious on-connect events.
    
    See golang.org/issue/8276, golang.org/issue/8426 for further information.
    
    All credit to Jason Eggleston <jason@eggnet.com>
    
    Fixes #8276.
    Fixes #8426.
    
    LGTM=dvyukov
    R=dvyukov, golang-codereviews, adg, dave, iant, alex.brainman
    CC=golang-codereviews
    https://golang.org/cl/120820043
    c0325f50
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_android.go Loading commit data...
cgo_bsd.go Loading commit data...
cgo_linux.go Loading commit data...
cgo_netbsd.go Loading commit data...
cgo_openbsd.go Loading commit data...
cgo_stub.go Loading commit data...
cgo_unix.go Loading commit data...
cgo_unix_test.go Loading commit data...
conn_test.go Loading commit data...
dial.go Loading commit data...
dial_gen.go Loading commit data...
dial_gen_test.go Loading commit data...
dial_test.go Loading commit data...
dialgoogle_test.go Loading commit data...
dnsclient.go Loading commit data...
dnsclient_test.go Loading commit data...
dnsclient_unix.go Loading commit data...
dnsclient_unix_test.go Loading commit data...
dnsconfig_unix.go Loading commit data...
dnsconfig_unix_test.go Loading commit data...
dnsmsg.go Loading commit data...
dnsmsg_test.go Loading commit data...
dnsname_test.go Loading commit data...
empty.c Loading commit data...
example_test.go Loading commit data...
fd_mutex.go Loading commit data...
fd_mutex_test.go Loading commit data...
fd_plan9.go Loading commit data...
fd_poll_nacl.go Loading commit data...
fd_poll_runtime.go Loading commit data...
fd_unix.go Loading commit data...
fd_unix_test.go Loading commit data...
fd_windows.go Loading commit data...
file_plan9.go Loading commit data...
file_test.go Loading commit data...
file_unix.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_bsd_test.go Loading commit data...
interface_darwin.go Loading commit data...
interface_dragonfly.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_unix_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...
ipsock_test.go Loading commit data...
lookup.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...
mockicmp_test.go Loading commit data...
mockserver_test.go Loading commit data...
multicast_test.go Loading commit data...
net.go Loading commit data...
net_test.go Loading commit data...
net_windows_test.go Loading commit data...
netgo_unix_test.go Loading commit data...
packetconn_test.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...
port_unix.go Loading commit data...
protoconn_test.go Loading commit data...
race.go Loading commit data...
race0.go Loading commit data...
sendfile_dragonfly.go Loading commit data...
sendfile_freebsd.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...
singleflight.go Loading commit data...
sock_bsd.go Loading commit data...
sock_cloexec.go Loading commit data...
sock_linux.go Loading commit data...
sock_plan9.go Loading commit data...
sock_posix.go Loading commit data...
sock_solaris.go Loading commit data...
sock_windows.go Loading commit data...
sockopt_bsd.go Loading commit data...
sockopt_linux.go Loading commit data...
sockopt_plan9.go Loading commit data...
sockopt_posix.go Loading commit data...
sockopt_solaris.go Loading commit data...
sockopt_windows.go Loading commit data...
sockoptip_bsd.go Loading commit data...
sockoptip_linux.go Loading commit data...
sockoptip_posix.go Loading commit data...
sockoptip_stub.go Loading commit data...
sockoptip_windows.go Loading commit data...
sys_cloexec.go Loading commit data...
tcp_test.go Loading commit data...
tcpsock.go Loading commit data...
tcpsock_plan9.go Loading commit data...
tcpsock_posix.go Loading commit data...
tcpsockopt_darwin.go Loading commit data...
tcpsockopt_dragonfly.go Loading commit data...
tcpsockopt_openbsd.go Loading commit data...
tcpsockopt_plan9.go Loading commit data...
tcpsockopt_posix.go Loading commit data...
tcpsockopt_solaris.go Loading commit data...
tcpsockopt_unix.go Loading commit data...
tcpsockopt_windows.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_posix_test.go Loading commit data...
unix_test.go Loading commit data...
unixsock.go Loading commit data...
unixsock_plan9.go Loading commit data...
unixsock_posix.go Loading commit data...
z_last_test.go Loading commit data...