diff options
Diffstat (limited to 'src/runtime/race/race_test.go')
-rw-r--r-- | src/runtime/race/race_test.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/runtime/race/race_test.go b/src/runtime/race/race_test.go index 81e51cc5b2..53ec74c085 100644 --- a/src/runtime/race/race_test.go +++ b/src/runtime/race/race_test.go @@ -221,3 +221,21 @@ func BenchmarkSyncLeak(b *testing.B) { } wg.Wait() } + +func BenchmarkStackLeak(b *testing.B) { + done := make(chan bool, 1) + for i := 0; i < b.N; i++ { + go func() { + growStack(rand.Intn(100)) + done <- true + }() + <-done + } +} + +func growStack(i int) { + if i == 0 { + return + } + growStack(i - 1) +} |