Codebase list golang-github-vbauerster-mpb / 7d9a9a9
labeled break for each case labeled break is needed to break out of both the select and the for loop Vladimir Bauer 2 years ago
1 changed file(s) with 4 addition(s) and 5 deletion(s). Raw diff Collapse all Expand all
4545 var sync bool
4646
4747 for req := range m {
48 next:
4948 switch req.cmd {
5049 case h_push:
5150 data := req.data.(pushData)
7473 syncWidth(aMatrix, drop)
7574 case h_iter:
7675 data := req.data.(iterData)
76 drop_iter:
7777 for _, b := range bHeap {
7878 select {
7979 case data.iter <- b:
8080 case <-data.drop:
81 close(data.iter)
82 break next
81 break drop_iter
8382 }
8483 }
8584 close(data.iter)
8685 case h_drain:
8786 data := req.data.(iterData)
87 drop_drain:
8888 for bHeap.Len() != 0 {
8989 select {
9090 case data.iter <- heap.Pop(&bHeap).(*Bar):
9191 case <-data.drop:
92 close(data.iter)
93 break next
92 break drop_drain
9493 }
9594 }
9695 close(data.iter)