]> Cypherpunks.ru repositories - gostls13.git/commitdiff
crypto/tls: fix race in Benchmark{Throughput,Latency}
authorMikio Hara <mikioh.mikioh@gmail.com>
Fri, 27 May 2016 18:20:11 +0000 (03:20 +0900)
committerDavid Chase <drchase@google.com>
Fri, 27 May 2016 19:05:38 +0000 (19:05 +0000)
Fixes #15864.

Change-Id: Ic12aa3654bf0b7e4a26df20ea92d07d7efe7339c
Reviewed-on: https://go-review.googlesource.com/23504
Reviewed-by: David Chase <drchase@google.com>
src/crypto/tls/tls_test.go

index 4fbe4b26b60271b53b62321d3a3dc4f9109ac6f3..8dc4533a52da4b7ea3bb23b3ab6714b170c49c0d 100644 (file)
@@ -479,9 +479,11 @@ func throughput(b *testing.B, totalBytes int64, dynamicRecordSizingDisabled bool
        ln := newLocalListener(b)
        defer ln.Close()
 
+       N := b.N
+
        var serr error
        go func() {
-               for i := 0; i < b.N; i++ {
+               for i := 0; i < N; i++ {
                        sconn, err := ln.Accept()
                        if err != nil {
                                serr = err
@@ -504,7 +506,7 @@ func throughput(b *testing.B, totalBytes int64, dynamicRecordSizingDisabled bool
 
        buf := make([]byte, 1<<16)
        chunks := int(math.Ceil(float64(totalBytes) / float64(len(buf))))
-       for i := 0; i < b.N; i++ {
+       for i := 0; i < N; i++ {
                conn, err := Dial("tcp", ln.Addr().String(), &clientConfig)
                if err != nil {
                        b.Fatal(err)
@@ -566,9 +568,11 @@ func latency(b *testing.B, bps int, dynamicRecordSizingDisabled bool) {
        ln := newLocalListener(b)
        defer ln.Close()
 
+       N := b.N
+
        var serr error
        go func() {
-               for i := 0; i < b.N; i++ {
+               for i := 0; i < N; i++ {
                        sconn, err := ln.Accept()
                        if err != nil {
                                serr = err
@@ -591,7 +595,7 @@ func latency(b *testing.B, bps int, dynamicRecordSizingDisabled bool) {
        buf := make([]byte, 16384)
        peek := make([]byte, 1)
 
-       for i := 0; i < b.N; i++ {
+       for i := 0; i < N; i++ {
                conn, err := Dial("tcp", ln.Addr().String(), &clientConfig)
                if err != nil {
                        b.Fatal(err)