From: Andrew Gerrand Date: Thu, 21 Aug 2014 23:53:44 +0000 (+1000) Subject: sync: be more explicit in WaitGroup docs X-Git-Tag: go1.4beta1~757 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=bc64c078259b97392c2a9d5ee6bda75ae3971579;p=gostls13.git sync: be more explicit in WaitGroup docs Fixes #8543. LGTM=dvyukov, r R=rsc, r CC=dvyukov, golang-codereviews https://golang.org/cl/123580043 --- diff --git a/src/pkg/sync/waitgroup.go b/src/pkg/sync/waitgroup.go index 4c64dca393..92cc57d2cc 100644 --- a/src/pkg/sync/waitgroup.go +++ b/src/pkg/sync/waitgroup.go @@ -37,10 +37,13 @@ type WaitGroup struct { // If the counter becomes zero, all goroutines blocked on Wait are released. // If the counter goes negative, Add panics. // -// Note that calls with positive delta must happen before the call to Wait, -// or else Wait may wait for too small a group. Typically this means the calls -// to Add should execute before the statement creating the goroutine or -// other event to be waited for. See the WaitGroup example. +// Note that calls with a positive delta that occur when the counter is zero +// must happen before a Wait. Calls with a negative delta, or calls with a +// positive delta that start when the counter is greater than zero, may happen +// at any time. +// Typically this means the calls to Add should execute before the statement +// creating the goroutine or other event to be waited for. +// See the WaitGroup example. func (wg *WaitGroup) Add(delta int) { if raceenabled { _ = wg.m.state // trigger nil deref early