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  

View as plain text