From: Russ Cox Date: Wed, 26 Jan 2011 20:46:15 +0000 (-0500) Subject: net: fix build on old Linux kernels X-Git-Tag: weekly.2011-02-01~69 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=f626696d214f33fab4c6a6609a01b75cd191df15;p=gostls13.git net: fix build on old Linux kernels Thanks to Mike Beller for identifying the problem. Fixes #1442. R=bradfitz, bradfitzgo CC=golang-dev https://golang.org/cl/4102042 --- diff --git a/src/pkg/net/server_test.go b/src/pkg/net/server_test.go index 3f2442a462..543227f7d1 100644 --- a/src/pkg/net/server_test.go +++ b/src/pkg/net/server_test.go @@ -25,7 +25,7 @@ func runEcho(fd io.ReadWriter, done chan<- int) { for { n, err := fd.Read(buf[0:]) - if err != nil || n == 0 { + if err != nil || n == 0 || string(buf[:n]) == "END" { break } fd.Write(buf[0:n]) @@ -79,6 +79,13 @@ func connect(t *testing.T, network, addr string, isEmpty bool) { if n != len(b) || err1 != nil { t.Fatalf("fd.Read() = %d, %v (want %d, nil)", n, err1, len(b)) } + + // Send explicit ending for unixpacket. + // Older Linux kernels do stop reads on close. + if network == "unixpacket" { + fd.Write([]byte("END")) + } + fd.Close() }