in experimental/job_group.go [12:29]
func (g *jobGroup) dispatch(fn func() error) {
g.wg.Add(1)
g.ch <- func() {
var err error
defer func() {
if err != nil {
g.lock.Lock()
g.err = err
g.lock.Unlock()
}
}()
defer g.wg.Done()
err = fn()
}
}