From 1beeaaf299500a095404c79e1df4020a6d18afd8 Mon Sep 17 00:00:00 2001 From: morganamilo Date: Tue, 4 Sep 2018 18:28:36 +0100 Subject: [PATCH] Limit download concurrency to 25 threads --- download.go | 5 +++++ install.go | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/download.go b/download.go index 37747c9b..32e6516f 100644 --- a/download.go +++ b/download.go @@ -286,9 +286,14 @@ func getPkgbuildsfromABS(pkgs []string, path string) (bool, error) { mux.Unlock() } + count := 0 for name, url := range names { wg.Add(1) go download(name, url) + count++ + if count%25 == 0 { + wg.Wait() + } } wg.Wait() diff --git a/install.go b/install.go index 0f4d3d42..229662e0 100644 --- a/install.go +++ b/install.go @@ -872,9 +872,14 @@ func downloadPkgbuilds(bases []Base, toSkip stringSet, buildDir string) (stringS mux.Unlock() } + count := 0 for k, base := range bases { wg.Add(1) go download(k, base) + count++ + if count%25 == 0 { + wg.Wait() + } } wg.Wait()