equal
deleted
inserted
replaced
113 for i, t := range hashTagList { |
113 for i, t := range hashTagList { |
114 if verbose { |
114 if verbose { |
115 errPrint("Launching listener for tag '%s'", t) |
115 errPrint("Launching listener for tag '%s'", t) |
116 } |
116 } |
117 tagEvCh[i] = make(chan madon.StreamEvent) |
117 tagEvCh[i] = make(chan madon.StreamEvent) |
|
118 tagDoneCh[i] = make(chan bool) |
118 e := gClient.StreamListener(streamName, t, tagEvCh[i], stop, tagDoneCh[i]) |
119 e := gClient.StreamListener(streamName, t, tagEvCh[i], stop, tagDoneCh[i]) |
119 if e != nil { |
120 if e != nil { |
120 if i > 0 { // Close previous connections |
121 if i > 0 { // Close previous connections |
121 close(stop) |
122 close(stop) |
122 } |
123 } |
155 } |
156 } |
156 |
157 |
157 LISTEN: |
158 LISTEN: |
158 for { |
159 for { |
159 select { |
160 select { |
160 case _, ok := <-done: |
161 case v, ok := <-done: |
161 if !ok { // done is closed, end of streaming |
162 if !ok || v == true { // done is closed, end of streaming |
162 break LISTEN |
163 break LISTEN |
163 } |
164 } |
164 case ev := <-evChan: |
165 case ev := <-evChan: |
165 switch ev.Event { |
166 switch ev.Event { |
166 case "error": |
167 case "error": |