From 55ff3f7076e9ef45f8c853eece8acf36e891d885 Mon Sep 17 00:00:00 2001 From: Rob Pike Date: Thu, 19 Jul 2012 11:55:03 -0700 Subject: [PATCH] sync: mention that WaitGroup.Add panics Fixes #3839. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/6428053 --- src/pkg/sync/waitgroup.go | 3 ++- src/pkg/sync/waitgroup_test.go | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/pkg/sync/waitgroup.go b/src/pkg/sync/waitgroup.go index 0165b1ffb2b..bc9e738e784 100644 --- a/src/pkg/sync/waitgroup.go +++ b/src/pkg/sync/waitgroup.go @@ -32,10 +32,11 @@ type WaitGroup struct { // Add adds delta, which may be negative, to the WaitGroup counter. // If the counter becomes zero, all goroutines blocked on Wait() are released. +// If the counter goes negative, Add panics. func (wg *WaitGroup) Add(delta int) { v := atomic.AddInt32(&wg.counter, int32(delta)) if v < 0 { - panic("sync: negative WaitGroup count") + panic("sync: negative WaitGroup counter") } if v > 0 || atomic.LoadInt32(&wg.waiters) == 0 { return diff --git a/src/pkg/sync/waitgroup_test.go b/src/pkg/sync/waitgroup_test.go index 34430fc2158..84c4cfc37a3 100644 --- a/src/pkg/sync/waitgroup_test.go +++ b/src/pkg/sync/waitgroup_test.go @@ -50,7 +50,7 @@ func TestWaitGroup(t *testing.T) { func TestWaitGroupMisuse(t *testing.T) { defer func() { err := recover() - if err != "sync: negative WaitGroup count" { + if err != "sync: negative WaitGroup counter" { t.Fatalf("Unexpected panic: %#v", err) } }()