fix: take the lock while listing peers
Steven Allen committed
Sep 15, 2021 at 18:59 UTC
92854db7aed4424fad117ceb4e13f64a80ff348b
1 file changed
+3
peering/peering.go
+3
@@ -244,6 +244,9 @@ func (ps *PeeringService) AddPeer(info peer.AddrInfo) {
244
245
// ListPeers lists peers in the peering service.
246
func (ps *PeeringService) ListPeers() []peer.AddrInfo {
247
+ ps.mu.RLock()
248
+ defer ps.mu.RUnlock()
249
+
250
out := make([]peer.AddrInfo, 0, len(ps.peers))
251
for id, addrs := range ps.peers {
252
ai := peer.AddrInfo{ID: id}