Source file test/fixedbugs/issue44370.dir/a.go
1 // Copyright 2021 The Go Authors. All rights reserved. Use of this 2 // source code is governed by a BSD-style license that can be found in 3 // the LICENSE file. 4 5 package a 6 7 // A StoppableWaitGroup waits for a collection of goroutines to finish. 8 type StoppableWaitGroup struct { 9 // i is the internal counter which can store tolerate negative values 10 // as opposed the golang's library WaitGroup. 11 i *int64 12 } 13 14 // NewStoppableWaitGroup returns a new StoppableWaitGroup. When the 'Stop' is 15 // executed, following 'Add()' calls won't have any effect. 16 func NewStoppableWaitGroup() *StoppableWaitGroup { 17 return &StoppableWaitGroup{ 18 i: func() *int64 { i := int64(0); return &i }(), 19 } 20 } 21