Codebase list golang-github-vbauerster-mpb / e269438
defer close(sync), cb may panic Vladimir Bauer 3 years ago
2 changed file(s) with 2 addition(s) and 2 deletion(s). Raw diff Collapse all Expand all
155155 sync := make(chan struct{})
156156 select {
157157 case b.operateState <- func(s *bState) {
158 defer close(sync)
158159 for _, decorators := range [][]decor.Decorator{
159160 s.pDecorators,
160161 s.aDecorators,
163164 cb(extractBaseDecorator(d))
164165 }
165166 }
166 close(sync)
167167 }:
168168 <-sync
169169 case <-b.done:
158158 sync := make(chan struct{})
159159 select {
160160 case p.operateState <- func(s *pState) {
161 defer close(sync)
161162 for i := 0; i < s.bHeap.Len(); i++ {
162163 bar := s.bHeap[i]
163164 if !cb(bar) {
164165 break
165166 }
166167 }
167 close(sync)
168168 }:
169169 <-sync
170170 case <-p.done: