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
 }