func()

in pipeline/senders/dispatcher.go [67:81]


func (d *Dispatcher) Release() error {
	return d.tracker.Release(func() error {
		errors := make([]error, len(d.senders))
		wg := sync.WaitGroup{}
		wg.Add(len(d.senders))
		for i, s := range d.senders {
			go func(i int, s pipeline.Sender) {
				errors[i] = s.Release()
				wg.Done()
			}(i, s)
		}
		wg.Wait()
		return multierror.Append(nil, errors...).ErrorOrNil()
	})
}