]> Cypherpunks.ru repositories - gostls13.git/commitdiff
net: ignore ECONNABORTED from syscall.Accept
authorDevon H. O'Dell <devon.odell@gmail.com>
Tue, 27 Mar 2012 04:06:14 +0000 (00:06 -0400)
committerRuss Cox <rsc@golang.org>
Tue, 27 Mar 2012 04:06:14 +0000 (00:06 -0400)
Fixes #3395.

R=rsc, dsymonds
CC=golang-dev
https://golang.org/cl/5905063

src/pkg/net/fd.go

index ae1bf2614a28b6f358f4a49049e265b952bded09..76c953b9b4e006cfed589e178cb861ee29d73aaf 100644 (file)
@@ -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}
                }