This libgo patch ignores an EINTR which occurs while calling connect on
a socket.  Bootstrapped and ran Go testsuite on
x86_64-unknown-linux-gnu.  Committed to mainline.

This is for PR 48019.

Ian

diff -r eb43a92af99e libgo/go/net/sock.go
--- a/libgo/go/net/sock.go	Tue Mar 08 22:31:00 2011 -0800
+++ b/libgo/go/net/sock.go	Tue Mar 08 22:45:17 2011 -0800
@@ -54,6 +54,9 @@
 
 	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)

Reply via email to