summaryrefslogtreecommitdiff
path: root/libgo/go/net/fd.go
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-04-03 11:15:51 -0700
committerH.J. Lu <hjl.tools@gmail.com>2012-04-03 11:15:51 -0700
commitc924cab2fd8932bdfb107c4ca7d26128ba56f19e (patch)
tree0eea6430e211564fc331f66625373ec761837982 /libgo/go/net/fd.go
parent4c15f6d5728cb694d7d954b2c20409fdc0400b9e (diff)
parent3cef948a814542119083003a3c35a24e036230b6 (diff)
downloadgcc-hjl/x32/addr32.tar.gz
Merge remote-tracking branch 'origin/master' into hjl/x32/addr32hjl/x32/addr32
Diffstat (limited to 'libgo/go/net/fd.go')
-rw-r--r--libgo/go/net/fd.go4
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}
}