1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-06-28 17:03:58 +08:00

fix: respect ctx on receive

@jbenet

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
This commit is contained in:
Brian Tiger Chow
2014-12-05 22:54:16 -08:00
parent 27bed4b2c8
commit f7cb6b9963

View File

@ -107,10 +107,15 @@ func (pm *ProviderManager) GetProviders(ctx context.Context, k u.Key) []peer.Pee
resp: make(chan []peer.Peer, 1), // buffered to prevent sender from blocking
}
select {
case pm.getprovs <- gp:
return <-gp.resp
case <-ctx.Done():
return nil
case pm.getprovs <- gp:
}
select {
case <-ctx.Done():
return nil
case peers := <-gp.resp:
return peers
}
}