From 22cbb0f2a0e0b723370f0e4443f7faae3553626a Mon Sep 17 00:00:00 2001 From: Matt Vinall Date: Tue, 9 Jan 2018 01:17:21 +0000 Subject: [PATCH] Locking around ls writes to tabwriter (#55) Fixes #54 Signed-off-by: Matt Vinall --- main.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/main.go b/main.go index 1e4b8187..c8b43224 100644 --- a/main.go +++ b/main.go @@ -140,6 +140,7 @@ func main() { // print header fmt.Fprintln(w, "REPO\tTAGS") + var l sync.Mutex var wg sync.WaitGroup wg.Add(len(repos)) for _, repo := range repos { @@ -150,7 +151,9 @@ func main() { fmt.Printf("Get tags of [%s] error: %s", repo, err) } out := fmt.Sprintf("%s\t%s\n", repo, strings.Join(tags, ", ")) + l.Lock() w.Write([]byte(out)) + l.Unlock() wg.Done() }(repo) }