Commit 306c518
authored
fix(pb): make disableProgress race-free with sync/atomic.Bool (#511)
internal/pb package used an unprotected package-level `disableProgress`
bool that's read by `(*ProgressBar).Add` from the concurrent pull/push
worker goroutines while `SetDisableProgress` flips it on startup.
`go test -race` reports the expected data race, and the Go memory
model leaves the behaviour undefined in practice.
Swap the bool for an atomic.Bool. Store from SetDisableProgress, Load
from Add. No public-API change - callers continue to pass plain bool
to SetDisableProgress.
Fixes #493
Signed-off-by: SAY-5 <SAY-5@users.noreply.github.com>
Co-authored-by: SAY-5 <SAY-5@users.noreply.github.com>1 parent f0ef94b commit 306c518
1 file changed
Lines changed: 8 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| |||
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
33 | | - | |
34 | | - | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
35 | 39 | | |
36 | 40 | | |
37 | 41 | | |
38 | 42 | | |
39 | | - | |
| 43 | + | |
40 | 44 | | |
41 | 45 | | |
42 | 46 | | |
| |||
85 | 89 | | |
86 | 90 | | |
87 | 91 | | |
88 | | - | |
| 92 | + | |
89 | 93 | | |
90 | 94 | | |
91 | 95 | | |
| |||
0 commit comments