diff options
author | Valentin Rothberg <rothberg@redhat.com> | 2021-09-09 14:19:21 +0200 |
---|---|---|
committer | Valentin Rothberg <rothberg@redhat.com> | 2021-09-09 14:19:21 +0200 |
commit | 78c5a47fc9443f60d8bc75aff40dbdb4d9d32dc6 (patch) | |
tree | a3670ef485ff097c17bda2742202dfe33475a97d /vendor/github.com/vbauerster/mpb/v7 | |
parent | 32eaf347e1e9eb752493b339499aa9fa8777af3d (diff) | |
download | podman-78c5a47fc9443f60d8bc75aff40dbdb4d9d32dc6.tar.gz podman-78c5a47fc9443f60d8bc75aff40dbdb4d9d32dc6.tar.bz2 podman-78c5a47fc9443f60d8bc75aff40dbdb4d9d32dc6.zip |
vendor mpb@v7.1.4
Fixes a race condition leading to a deadlock.
Thanks to @mtrmac and @vbauerster for fixing the issue!
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
Diffstat (limited to 'vendor/github.com/vbauerster/mpb/v7')
-rw-r--r-- | vendor/github.com/vbauerster/mpb/v7/bar.go | 38 | ||||
-rw-r--r-- | vendor/github.com/vbauerster/mpb/v7/go.mod | 2 | ||||
-rw-r--r-- | vendor/github.com/vbauerster/mpb/v7/go.sum | 4 |
3 files changed, 22 insertions, 22 deletions
diff --git a/vendor/github.com/vbauerster/mpb/v7/bar.go b/vendor/github.com/vbauerster/mpb/v7/bar.go index 95d4439f8..22f608317 100644 --- a/vendor/github.com/vbauerster/mpb/v7/bar.go +++ b/vendor/github.com/vbauerster/mpb/v7/bar.go @@ -268,32 +268,32 @@ func (b *Bar) SetPriority(priority int) { // if bar is already in complete state. If drop is true bar will be // removed as well. func (b *Bar) Abort(drop bool) { - if drop { - b.container.dropBar(b) // It is safe to call this multiple times with the same bar - } select { case b.operateState <- func(s *bState) { if s.completed == true { return } if drop { - b.cancel() - return - } - go func() { - var uncompleted int - b.container.traverseBars(func(bar *Bar) bool { - if b != bar && !bar.Completed() { - uncompleted++ - return false + go b.container.dropBar(b) + } else { + go func() { + var uncompleted int + b.container.traverseBars(func(bar *Bar) bool { + if b != bar && !bar.Completed() { + uncompleted++ + return false + } + return true + }) + if uncompleted == 0 { + select { + case b.container.refreshCh <- time.Now(): + case <-b.container.done: + } } - return true - }) - if uncompleted == 0 { - b.container.refreshCh <- time.Now() - } - b.cancel() - }() + }() + } + b.cancel() }: <-b.done case <-b.done: diff --git a/vendor/github.com/vbauerster/mpb/v7/go.mod b/vendor/github.com/vbauerster/mpb/v7/go.mod index 7b177d0db..1ecbbe062 100644 --- a/vendor/github.com/vbauerster/mpb/v7/go.mod +++ b/vendor/github.com/vbauerster/mpb/v7/go.mod @@ -4,7 +4,7 @@ require ( github.com/VividCortex/ewma v1.2.0 github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d github.com/mattn/go-runewidth v0.0.13 - golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e + golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34 ) go 1.14 diff --git a/vendor/github.com/vbauerster/mpb/v7/go.sum b/vendor/github.com/vbauerster/mpb/v7/go.sum index 45584e0bf..a964dcccd 100644 --- a/vendor/github.com/vbauerster/mpb/v7/go.sum +++ b/vendor/github.com/vbauerster/mpb/v7/go.sum @@ -6,5 +6,5 @@ github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4 github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= -golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e h1:WUoyKPm6nCo1BnNUvPGnFG3T5DUVem42yDJZZ4CNxMA= -golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34 h1:GkvMjFtXUmahfDtashnc1mnrCtuBVcwse5QV2lUk/tI= +golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= |