Codebase list golang-github-vbauerster-mpb / d00d8b9
make sure TraverseDecorators is sync Vladimir Bauer 4 years ago
1 changed file(s) with 4 addition(s) and 1 deletion(s). Raw diff Collapse all Expand all
144144
145145 // TraverseDecorators traverses all available decorators and calls cb func on each.
146146 func (b *Bar) TraverseDecorators(cb func(decor.Decorator)) {
147 done := make(chan struct{})
147148 select {
148149 case b.operateState <- func(s *bState) {
149150 for _, decorators := range [...][]decor.Decorator{
154155 cb(extractBaseDecorator(d))
155156 }
156157 }
157 }:
158 close(done)
159 }:
160 <-done
158161 case <-b.done:
159162 }
160163 }