(ctx context.Context)
| 269 | } |
| 270 | |
| 271 | func (m *Manager) run(ctx context.Context) { |
| 272 | for { |
| 273 | m.mu.Lock() |
| 274 | for !m.closed && len(m.queue) == 0 { |
| 275 | m.cond.Wait() |
| 276 | } |
| 277 | if len(m.queue) == 0 && m.closed { |
| 278 | m.mu.Unlock() |
| 279 | return |
| 280 | } |
| 281 | item := m.queue[0] |
| 282 | m.queue = m.queue[1:] |
| 283 | m.mu.Unlock() |
| 284 | m.dispatch(item) |
| 285 | } |
| 286 | } |
| 287 | |
| 288 | func (m *Manager) dispatch(item queueItem) { |
| 289 | m.pluginsMu.RLock() |
no test coverage detected