diff options
author | Alex Brainman <alex.brainman@gmail.com> | 2016-04-05 10:28:19 +1000 |
---|---|---|
committer | Alex Brainman <alex.brainman@gmail.com> | 2016-04-05 00:52:40 +0000 |
commit | fcac88098b1d5eee5f0a546e550c3d95cc13f64b (patch) | |
tree | 35470e36b0599f8451e0b74f2f170f5b374a541f /src/runtime/syscall_windows_test.go | |
parent | c4dda7e5a830e86b597d34483fd7787723b34f2f (diff) | |
download | go-fcac88098b1d5eee5f0a546e550c3d95cc13f64b.tar.gz go-fcac88098b1d5eee5f0a546e550c3d95cc13f64b.zip |
runtime: remove race out of BenchmarkChanToSyscallPing1ms
Fixes #15119
Change-Id: I31445bf282a5e2a160ff4e66c5a592b989a5798f
Reviewed-on: https://go-review.googlesource.com/21448
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/runtime/syscall_windows_test.go')
-rw-r--r-- | src/runtime/syscall_windows_test.go | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/runtime/syscall_windows_test.go b/src/runtime/syscall_windows_test.go index 730b6d6d9c..0b3ebe504d 100644 --- a/src/runtime/syscall_windows_test.go +++ b/src/runtime/syscall_windows_test.go @@ -901,18 +901,19 @@ func setEvent(h syscall.Handle) error { } func benchChanToSyscallPing(b *testing.B) { + n := b.N ch := make(chan int) event, err := createEvent() if err != nil { b.Fatal(err) } go func() { - for i := 0; i < b.N; i++ { + for i := 0; i < n; i++ { syscall.WaitForSingleObject(event, syscall.INFINITE) ch <- 1 } }() - for i := 0; i < b.N; i++ { + for i := 0; i < n; i++ { err := setEvent(event) if err != nil { b.Fatal(err) @@ -932,6 +933,7 @@ func BenchmarkChanToSyscallPing15ms(b *testing.B) { } func benchSyscallToSyscallPing(b *testing.B) { + n := b.N event1, err := createEvent() if err != nil { b.Fatal(err) @@ -941,7 +943,7 @@ func benchSyscallToSyscallPing(b *testing.B) { b.Fatal(err) } go func() { - for i := 0; i < b.N; i++ { + for i := 0; i < n; i++ { syscall.WaitForSingleObject(event1, syscall.INFINITE) err := setEvent(event2) if err != nil { @@ -949,7 +951,7 @@ func benchSyscallToSyscallPing(b *testing.B) { } } }() - for i := 0; i < b.N; i++ { + for i := 0; i < n; i++ { err := setEvent(event1) if err != nil { b.Fatal(err) @@ -969,15 +971,16 @@ func BenchmarkSyscallToSyscallPing15ms(b *testing.B) { } func benchChanToChanPing(b *testing.B) { + n := b.N ch1 := make(chan int) ch2 := make(chan int) go func() { - for i := 0; i < b.N; i++ { + for i := 0; i < n; i++ { <-ch1 ch2 <- 1 } }() - for i := 0; i < b.N; i++ { + for i := 0; i < n; i++ { ch1 <- 1 <-ch2 } |