diff options
Diffstat (limited to 'libgo/go/net/fd.go')
-rw-r--r-- | libgo/go/net/fd.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libgo/go/net/fd.go b/libgo/go/net/fd.go index ae1bf2614a2..76c953b9b4e 100644 --- a/libgo/go/net/fd.go +++ b/libgo/go/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} } |