forked from TrueCloudLab/restic
Merge pull request #2560 from brualan/master
Two small improvements to code quality
This commit is contained in:
commit
299f5971f2
4 changed files with 7 additions and 15 deletions
|
@ -232,7 +232,7 @@ func Warnf(format string, args ...interface{}) {
|
||||||
// Exitf uses Warnf to write the message and then terminates the process with
|
// Exitf uses Warnf to write the message and then terminates the process with
|
||||||
// the given exit code.
|
// the given exit code.
|
||||||
func Exitf(exitcode int, format string, args ...interface{}) {
|
func Exitf(exitcode int, format string, args ...interface{}) {
|
||||||
if format[len(format)-1] != '\n' {
|
if !(strings.HasSuffix(format, "\n")) {
|
||||||
format += "\n"
|
format += "\n"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -132,9 +132,8 @@ func (c *Checker) LoadIndex(ctx context.Context) (hints []error, errs []error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// final closes indexCh after all workers have terminated
|
// final closes indexCh after all workers have terminated
|
||||||
final := func() error {
|
final := func() {
|
||||||
close(resultCh)
|
close(resultCh)
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// run workers on ch
|
// run workers on ch
|
||||||
|
|
|
@ -454,9 +454,8 @@ func (r *Repository) LoadIndex(ctx context.Context) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// final closes indexCh after all workers have terminated
|
// final closes indexCh after all workers have terminated
|
||||||
final := func() error {
|
final := func() {
|
||||||
close(indexCh)
|
close(indexCh)
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// run workers on ch
|
// run workers on ch
|
||||||
|
|
|
@ -10,7 +10,7 @@ import (
|
||||||
// After all workers have terminated, finalFunc is run. If an error occurs in
|
// 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
|
// one of the workers, it is returned. FinalFunc is always run, regardless of
|
||||||
// any other previous errors.
|
// 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)
|
wg, ctx := errgroup.WithContext(ctx)
|
||||||
|
|
||||||
// run workers
|
// run workers
|
||||||
|
@ -22,14 +22,8 @@ func RunWorkers(ctx context.Context, count int, workerFunc, finalFunc func() err
|
||||||
err := wg.Wait()
|
err := wg.Wait()
|
||||||
|
|
||||||
// make sure finalFunc is run
|
// make sure finalFunc is run
|
||||||
finalErr := finalFunc()
|
finalFunc()
|
||||||
|
|
||||||
// if the workers returned an error, return it to the caller (disregarding
|
// return error from workers to the caller
|
||||||
// any error from finalFunc)
|
return err
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// if not, return the value finalFunc returned
|
|
||||||
return finalErr
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue