diff options
Diffstat (limited to 'src/sync')
| -rw-r--r-- | src/sync/waitgroup.go | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/sync/waitgroup.go b/src/sync/waitgroup.go index 5b035aa396..195f839da4 100644 --- a/src/sync/waitgroup.go +++ b/src/sync/waitgroup.go @@ -204,13 +204,14 @@ func (wg *WaitGroup) Wait() { } } runtime_SemacquireWaitGroup(&wg.sema, synctestDurable) - if wg.state.Load() != 0 { - panic("sync: WaitGroup is reused before previous Wait has returned") - } + isReset := wg.state.Load() != 0 if race.Enabled { race.Enable() race.Acquire(unsafe.Pointer(wg)) } + if isReset { + panic("sync: WaitGroup is reused before previous Wait has returned") + } return } } |
