don't create cwriter.New(io.Discard) unless delayRC is provided
Vladimir Bauer
2 years ago
| 67 | 67 | ctx = context.Background() |
| 68 | 68 | } |
| 69 | 69 | ctx, cancel := context.WithCancel(ctx) |
| 70 | delayRC := make(chan struct{}, 1) | |
| 71 | delayRC <- struct{}{} | |
| 72 | 70 | s := &pState{ |
| 73 | 71 | ctx: ctx, |
| 74 | 72 | hm: make(heapManager), |
| 77 | 75 | renderReq: make(chan time.Time), |
| 78 | 76 | popPriority: math.MinInt32, |
| 79 | 77 | refreshRate: defaultRefreshRate, |
| 80 | delayRC: delayRC, | |
| 81 | 78 | queueBars: make(map[*Bar]*Bar), |
| 82 | 79 | output: os.Stdout, |
| 83 | 80 | debugOut: io.Discard, |
| 261 | 258 | func (p *Progress) serve(s *pState, cw *cwriter.Writer) { |
| 262 | 259 | defer p.pwg.Done() |
| 263 | 260 | var err error |
| 264 | w := cwriter.New(io.Discard) | |
| 261 | var w *cwriter.Writer | |
| 265 | 262 | renderReq := s.renderReq |
| 266 | 263 | operateState := p.operateState |
| 267 | 264 | interceptIO := p.interceptIO |
| 265 | ||
| 266 | if s.delayRC != nil { | |
| 267 | w = cwriter.New(io.Discard) | |
| 268 | } else { | |
| 269 | w, cw = cw, nil | |
| 270 | } | |
| 268 | 271 | |
| 269 | 272 | for { |
| 270 | 273 | select { |