From 9457549fff7aee6246bf2f51659050c74586aed5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Sep 2022 12:13:29 +0000 Subject: build(deps): bump github.com/vbauerster/mpb/v7 from 7.5.2 to 7.5.3 Bumps [github.com/vbauerster/mpb/v7](https://github.com/vbauerster/mpb) from 7.5.2 to 7.5.3. - [Release notes](https://github.com/vbauerster/mpb/releases) - [Commits](https://github.com/vbauerster/mpb/compare/v7.5.2...v7.5.3) --- updated-dependencies: - dependency-name: github.com/vbauerster/mpb/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Also bump the go module to 1.17 to be able to compile the new code. Given containers/common and others already require go 1.17+ we're safe to go. Signed-off-by: dependabot[bot] Signed-off-by: Valentin Rothberg --- vendor/github.com/vbauerster/mpb/v7/progress.go | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'vendor/github.com/vbauerster/mpb/v7/progress.go') diff --git a/vendor/github.com/vbauerster/mpb/v7/progress.go b/vendor/github.com/vbauerster/mpb/v7/progress.go index ea5a0c15e..1dda06e5f 100644 --- a/vendor/github.com/vbauerster/mpb/v7/progress.go +++ b/vendor/github.com/vbauerster/mpb/v7/progress.go @@ -254,19 +254,25 @@ func (s *pState) render(cw *cwriter.Writer) error { } func (s *pState) flush(cw *cwriter.Writer, height int) error { + var wg sync.WaitGroup var popCount int rows := make([]io.Reader, 0, height) pool := make([]*Bar, 0, s.bHeap.Len()) for s.bHeap.Len() > 0 { - var frameRowsUsed int + var usedRows int b := heap.Pop(&s.bHeap).(*Bar) frame := <-b.frameCh for i := len(frame.rows) - 1; i >= 0; i-- { - if len(rows) == height { - break + if row := frame.rows[i]; len(rows) < height { + rows = append(rows, row) + usedRows++ + } else { + wg.Add(1) + go func() { + _, _ = io.Copy(io.Discard, row) + wg.Done() + }() } - rows = append(rows, frame.rows[i]) - frameRowsUsed++ } if frame.shutdown != 0 { b.Wait() // waiting for b.done, so it's safe to read b.bs @@ -278,7 +284,7 @@ func (s *pState) flush(cw *cwriter.Writer, height int) error { drop = true } else if s.popCompleted && !b.bs.noPop { if frame.shutdown > 1 { - popCount += frameRowsUsed + popCount += usedRows drop = true } else { s.popPriority++ @@ -300,10 +306,12 @@ func (s *pState) flush(cw *cwriter.Writer, height int) error { for i := len(rows) - 1; i >= 0; i-- { _, err := cw.ReadFrom(rows[i]) if err != nil { + wg.Wait() return err } } + wg.Wait() return cw.Flush(len(rows) - popCount) } -- cgit v1.2.3-54-g00ecf