diff --git a/kernel/search/find.go b/kernel/search/find.go index 104889e79..5c9e667df 100644 --- a/kernel/search/find.go +++ b/kernel/search/find.go @@ -71,19 +71,15 @@ func FindAllMatches(root string, targets []string) []Match { var collectWg sync.WaitGroup var matches []Match - collectWg.Add(1) - go func() { - defer collectWg.Done() + collectWg.Go(func() { for m := range results { matches = append(matches, m) } - }() + }) numWorkers := runtime.NumCPU() - for i := 0; i < numWorkers; i++ { - wg.Add(1) - go func() { - defer wg.Done() + for range numWorkers { + wg.Go(func() { for p := range jobs { hits := scanFileForTargets(p, patternIndex, maxLen) if len(hits) > 0 { @@ -92,7 +88,7 @@ func FindAllMatches(root string, targets []string) []Match { } } } - }() + }) } _ = filepath.WalkDir(root, func(path string, d os.DirEntry, err error) error {