partially revert b2237635
Vladimir Bauer
4 years ago
| 184 | 184 | // bool). If triggerCompleteNow is true then total value is set to |
| 185 | 185 | // current and complete event is triggered right away. |
| 186 | 186 | func (b *Bar) SetTotal(total int64, triggerCompleteNow bool) { |
| 187 | triggerComplete := make(chan bool, 1) | |
| 188 | select { | |
| 189 | case b.operateState <- func(s *bState) { | |
| 190 | triggerComplete <- s.triggerComplete | |
| 187 | select { | |
| 188 | case b.operateState <- func(s *bState) { | |
| 191 | 189 | if s.triggerComplete { |
| 192 | 190 | return |
| 193 | 191 | } |
| 202 | 200 | go b.forceRefresh() |
| 203 | 201 | } |
| 204 | 202 | }: |
| 205 | if triggerCompleteNow { | |
| 206 | triggerComplete := <-triggerComplete | |
| 207 | if !triggerComplete { | |
| 208 | <-b.done | |
| 209 | } | |
| 210 | } | |
| 211 | 203 | case <-b.done: |
| 212 | 204 | } |
| 213 | 205 | } |