Merge pull request #2560 from brualan/master

Two small improvements to code quality
This commit is contained in:
rawtaz
2020-02-12 22:40:20 +01:00
committed by GitHub
4 changed files with 7 additions and 15 deletions

View File

@@ -132,9 +132,8 @@ func (c *Checker) LoadIndex(ctx context.Context) (hints []error, errs []error) {
}
// final closes indexCh after all workers have terminated
final := func() error {
final := func() {
close(resultCh)
return nil
}
// run workers on ch

View File

@@ -454,9 +454,8 @@ func (r *Repository) LoadIndex(ctx context.Context) error {
}
// final closes indexCh after all workers have terminated
final := func() error {
final := func() {
close(indexCh)
return nil
}
// run workers on ch

View File

@@ -10,7 +10,7 @@ import (
// After all workers have terminated, finalFunc is run. If an error occurs in
// one of the workers, it is returned. FinalFunc is always run, regardless of
// any other previous errors.
func RunWorkers(ctx context.Context, count int, workerFunc, finalFunc func() error) error {
func RunWorkers(ctx context.Context, count int, workerFunc func() error, finalFunc func()) error {
wg, ctx := errgroup.WithContext(ctx)
// run workers
@@ -22,14 +22,8 @@ func RunWorkers(ctx context.Context, count int, workerFunc, finalFunc func() err
err := wg.Wait()
// make sure finalFunc is run
finalErr := finalFunc()
finalFunc()
// if the workers returned an error, return it to the caller (disregarding
// any error from finalFunc)
if err != nil {
return err
}
// if not, return the value finalFunc returned
return finalErr
// return error from workers to the caller
return err
}