Browse Source

Do initial repository scan in parallel (ref #210)

Jakob Borg 11 years ago
parent
commit
21335d65c4
1 changed files with 8 additions and 1 deletions
  1. 8 1
      cmd/syncthing/model.go

+ 8 - 1
cmd/syncthing/model.go

@@ -556,9 +556,16 @@ func (m *Model) ScanRepos() {
 	}
 	m.rmut.RUnlock()
 
+	var wg sync.WaitGroup
+	wg.Add(len(repos))
 	for _, repo := range repos {
-		m.ScanRepo(repo)
+		repo := repo
+		go func() {
+			m.ScanRepo(repo)
+			wg.Done()
+		}()
 	}
+	wg.Wait()
 }
 
 func (m *Model) ScanRepo(repo string) error {