Codebase list golang-github-vbauerster-mpb / 750e94f
make bar.isRunning public Vladimir Bauer 3 years ago
3 changed file(s) with 6 addition(s) and 4 deletion(s). Raw diff Collapse all Expand all
3838 defer wg.Done()
3939 rng := rand.New(rand.NewSource(time.Now().UnixNano()))
4040 max := 100 * time.Millisecond
41 for !bar.Completed() {
41 for bar.IsRunning() {
4242 // start variable is solely for EWMA calculation
4343 // EWMA's unit of measure is an iteration's duration
4444 start := time.Now()
4040 defer wg.Done()
4141 rng := rand.New(rand.NewSource(time.Now().UnixNano()))
4242 max := 100 * time.Millisecond
43 for i := 0; !bar.Completed(); i++ {
43 for i := 0; bar.IsRunning(); i++ {
4444 if bar.ID() == 2 && i >= 42 {
4545 bar.Abort(false)
4646 }
417417 func (b *Bar) forceRefresh() {
418418 var anyOtherRunning bool
419419 b.container.traverseBars(func(bar *Bar) bool {
420 anyOtherRunning = b != bar && bar.isRunning()
420 anyOtherRunning = b != bar && bar.IsRunning()
421421 return !anyOtherRunning
422422 })
423423 if !anyOtherRunning {
432432 }
433433 }
434434
435 func (b *Bar) isRunning() bool {
435 // IsRunning reports whether the bar is running, i.e. not yet completed
436 // and not yet aborted.
437 func (b *Bar) IsRunning() bool {
436438 result := make(chan bool)
437439 select {
438440 case b.operateState <- func(s *bState) {