net: fix race in TestTCPStress
Fixes #13704.
Change-Id: I7afef5058fa88b0de41213cf46219b684369f47f
Reviewed-on: https://go-review.googlesource.com/18111
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/src/net/tcp_test.go b/src/net/tcp_test.go
index 2191c91..30c5762 100644
--- a/src/net/tcp_test.go
+++ b/src/net/tcp_test.go
@@ -539,9 +539,12 @@
if err != nil {
t.Fatal(err)
}
- defer ln.Close()
+ done := make(chan bool)
// Acceptor.
go func() {
+ defer func() {
+ done <- true
+ }()
for {
c, err := ln.Accept()
if err != nil {
@@ -559,7 +562,6 @@
}(c)
}
}()
- done := make(chan bool)
for i := 0; i < conns; i++ {
// Client connection.
go func() {
@@ -583,4 +585,6 @@
for i := 0; i < conns; i++ {
<-done
}
+ ln.Close()
+ <-done
}