(fn func() error)
| 21 | } |
| 22 | |
| 23 | func (c *ConcurrentGroup) Go(fn func() error) { |
| 24 | c.wg.Add(1) |
| 25 | go func() { |
| 26 | defer c.wg.Done() |
| 27 | if err := fn(); err != nil { |
| 28 | c.errsMu.Lock() |
| 29 | c.errs = multierror.Append(c.errs, err) |
| 30 | c.errsMu.Unlock() |
| 31 | } |
| 32 | }() |
| 33 | } |
| 34 | |
| 35 | func (c *ConcurrentGroup) Wait() error { |
| 36 | c.wg.Wait() |