diff --git a/exchange/bitswap/wantmanager.go b/exchange/bitswap/wantmanager.go index 0091724ff..09b3e328a 100644 --- a/exchange/bitswap/wantmanager.go +++ b/exchange/bitswap/wantmanager.go @@ -168,11 +168,17 @@ func (mq *msgQueue) runQueue(ctx context.Context) { } func (pm *WantManager) Connected(p peer.ID) { - pm.connect <- p + select { + case pm.connect <- p: + case <-pm.ctx.Done(): + } } func (pm *WantManager) Disconnected(p peer.ID) { - pm.disconnect <- p + select { + case pm.disconnect <- p: + case <-pm.ctx.Done(): + } } // TODO: use goprocess here once i trust it