From 29c9c7762416e4c8829313949cd4d87458c61118 Mon Sep 17 00:00:00 2001 From: TJ Holowaychuk Date: Sun, 19 Nov 2017 10:50:52 -0800 Subject: [PATCH] refactor with startN() --- prune.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/prune.go b/prune.go index 07cff51..7862dd3 100644 --- a/prune.go +++ b/prune.go @@ -136,10 +136,7 @@ func WithFiles(s []string) Option { func (p *Pruner) Prune() (*Stats, error) { var stats Stats - for i := 0; i < runtime.NumCPU(); i++ { - p.wg.Add(1) - go p.start() - } + p.startN(runtime.NumCPU()) defer p.stop() err := filepath.Walk(p.dir, func(path string, info os.FileInfo, err error) error { @@ -218,6 +215,14 @@ func (p *Pruner) prune(path string, info os.FileInfo) bool { return ok } +// startN starts n loops. +func (p *Pruner) startN(n int) { + for i := 0; i < n; i++ { + p.wg.Add(1) + go p.start() + } +} + // start loop. func (p *Pruner) start() { defer p.wg.Done()