mirror of
https://github.com/ipfs/kubo.git
synced 2025-06-30 01:52:26 +08:00
fix: respect ctx on receive
@jbenet License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
This commit is contained in:
@ -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
|
resp: make(chan []peer.Peer, 1), // buffered to prevent sender from blocking
|
||||||
}
|
}
|
||||||
select {
|
select {
|
||||||
case pm.getprovs <- gp:
|
|
||||||
return <-gp.resp
|
|
||||||
case <-ctx.Done():
|
case <-ctx.Done():
|
||||||
return nil
|
return nil
|
||||||
|
case pm.getprovs <- gp:
|
||||||
|
}
|
||||||
|
select {
|
||||||
|
case <-ctx.Done():
|
||||||
|
return nil
|
||||||
|
case peers := <-gp.resp:
|
||||||
|
return peers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user