diff options
author | Devon H. O'Dell <devon.odell@gmail.com> | 2012-03-27 00:06:14 -0400 |
---|---|---|
committer | Devon H. O'Dell <devon.odell@gmail.com> | 2012-03-27 00:06:14 -0400 |
commit | 37a3690ef3e3f60ad0955c1bc8962f6dafd72968 (patch) | |
tree | 40c2a40b0d05572ba90a61ec58cde31f0b3b4e89 | |
parent | 1aebcb4fc9b13156f44945a4658961c6be358af2 (diff) | |
download | go-37a3690ef3e3f60ad0955c1bc8962f6dafd72968.tar.gz |
net: ignore ECONNABORTED from syscall.Accept
Fixes issue 3395.
R=rsc, dsymonds
CC=golang-dev
http://codereview.appspot.com/5905063
Committer: Russ Cox <rsc@golang.org>
-rw-r--r-- | src/pkg/net/fd.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/pkg/net/fd.go b/src/pkg/net/fd.go index ae1bf2614..76c953b9b 100644 --- a/src/pkg/net/fd.go +++ b/src/pkg/net/fd.go @@ -623,6 +623,10 @@ func (fd *netFD) accept(toAddr func(syscall.Sockaddr) Addr) (netfd *netFD, err e continue } } + } else if err == syscall.ECONNABORTED { + // This means that a socket on the listen queue was closed + // before we Accept()ed it; it's a silly error, so try again. + continue } return nil, &OpError{"accept", fd.net, fd.laddr, err} } |