aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBryan C. Mills <bcmills@google.com>2023-04-21 11:42:20 -0400
committerGopher Robot <gobot@golang.org>2023-04-21 20:04:37 +0000
commit6328e445c3a87d64a32b6203af3f39d43d874f9f (patch)
treedea76269789343df0f27dfe4f9d5153416d1d7a1 /src
parent87272bd1a18666ec38ac44c63e11c739f3054056 (diff)
downloadgo-6328e445c3a87d64a32b6203af3f39d43d874f9f.tar.xz
log: avoid leaking goroutines in TestOutputRace
Leaked goroutines are the only explanation I can think of for excess allocs in TestDiscard, and TestOutputRace is the only place I can see where the log package leaks goroutines. Let's fix that leak and see if it eliminates the TestDiscard flakes. Fixes #58797 (maybe). Change-Id: I2d54dcba3eb52bd10a62cd1c380131add6a2f651 Reviewed-on: https://go-review.googlesource.com/c/go/+/487356 TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Bryan Mills <bcmills@google.com> Run-TryBot: Bryan Mills <bcmills@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/log/log_test.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/log/log_test.go b/src/log/log_test.go
index b3b63d4e22..c7fa78f5ad 100644
--- a/src/log/log_test.go
+++ b/src/log/log_test.go
@@ -109,12 +109,16 @@ func TestNonNewLogger(t *testing.T) {
func TestOutputRace(t *testing.T) {
var b bytes.Buffer
l := New(&b, "", 0)
+ var wg sync.WaitGroup
+ wg.Add(100)
for i := 0; i < 100; i++ {
go func() {
+ defer wg.Done()
l.SetFlags(0)
l.Output(0, "")
}()
}
+ wg.Wait()
}
func TestFlagAndPrefixSetting(t *testing.T) {