diff --git a/cmd/progress.go b/cmd/progress.go index 8c09cee89..0ea44501a 100644 --- a/cmd/progress.go +++ b/cmd/progress.go @@ -84,6 +84,9 @@ var ( // printProgress prints the progress with an optional log func printProgress(logMessage string) { + progressMu.Lock() + defer progressMu.Unlock() + var buf bytes.Buffer w, h, err := terminal.GetSize(int(os.Stdout.Fd())) if err != nil { @@ -97,10 +100,6 @@ func printProgress(logMessage string) { buf.WriteString(s) } - // Lock from here to prevent terminal corruption - progressMu.Lock() - progressMu.Unlock() - if logMessage != "" { out("\n") out(moveUp)