mirror of
https://github.com/golang/go
synced 2024-11-15 04:50:31 -07:00
[release-branch.go1] sync: mention that WaitGroup.Add panics
««« backport 05f9fa32500a sync: mention that WaitGroup.Add panics Fixes #3839. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/6428053 »»»
This commit is contained in:
parent
d88fcebcd8
commit
5c47098ec8
@ -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
|
||||
|
@ -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)
|
||||
}
|
||||
}()
|
||||
|
Loading…
Reference in New Issue
Block a user