aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Macleod <amacleod@redhat.com>2016-02-22 19:52:59 +0000
committerAndrew Macleod <amacleod@redhat.com>2016-02-22 19:52:59 +0000
commit92459c6dcba6b89b967816eca4806be8624d5ece (patch)
tree27b4760ee15af6b8f1942dc19fa2c59a7eb32595
parent6be1e9f212d0618c590d98f1b88f52178b3fb288 (diff)
update go fix, new start point
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ttype-mac@233609 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--libgo/go/net/http/serve_test.go16
1 files changed, 13 insertions, 3 deletions
diff --git a/libgo/go/net/http/serve_test.go b/libgo/go/net/http/serve_test.go
index f8cad802d49..f7df776389f 100644
--- a/libgo/go/net/http/serve_test.go
+++ b/libgo/go/net/http/serve_test.go
@@ -2416,7 +2416,7 @@ func TestCloseNotifierPipelined(t *testing.T) {
if err != nil {
t.Fatalf("error dialing: %v", err)
}
- diec := make(chan bool, 2)
+ diec := make(chan bool, 1)
go func() {
const req = "GET / HTTP/1.1\r\nConnection: keep-alive\r\nHost: foo\r\n\r\n"
_, err = io.WriteString(conn, req+req) // two requests
@@ -2426,13 +2426,23 @@ func TestCloseNotifierPipelined(t *testing.T) {
<-diec
conn.Close()
}()
+ reqs := 0
+ closes := 0
For:
for {
select {
case <-gotReq:
- diec <- true
+ reqs++
+ if reqs > 2 {
+ t.Fatal("too many requests")
+ } else if reqs > 1 {
+ diec <- true
+ }
case <-sawClose:
- break For
+ closes++
+ if closes > 1 {
+ break For
+ }
case <-time.After(5 * time.Second):
ts.CloseClientConnections()
t.Fatal("timeout")