summaryrefslogtreecommitdiff
path: root/libgo/go/net
diff options
context:
space:
mode:
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2011-03-09 06:57:04 +0000
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2011-03-09 06:57:04 +0000
commit6997e8294e470a97fe59d54d969769f6f3f457df (patch)
tree40c4745268f47c968c46e6faf1e4a6518bba0154 /libgo/go/net
parent96f6e4db0f1ade1adabc9e90b7bbbc9bb3a01a7c (diff)
downloadgcc-6997e8294e470a97fe59d54d969769f6f3f457df.tar.gz
PR go/48019
Ignore EINTR in socket connect. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170811 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo/go/net')
-rw-r--r--libgo/go/net/sock.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/libgo/go/net/sock.go b/libgo/go/net/sock.go
index 8ad3548add4..5a88ddcbc29 100644
--- a/libgo/go/net/sock.go
+++ b/libgo/go/net/sock.go
@@ -54,6 +54,9 @@ func socket(net string, f, p, t int, la, ra syscall.Sockaddr, toAddr func(syscal
if ra != nil {
e = syscall.Connect(s, ra)
+ for e == syscall.EINTR {
+ e = syscall.Connect(s, ra)
+ }
if e != 0 {
closesocket(s)
return nil, os.Errno(e)