diff --git a/p2p/server.go b/p2p/server.go index 5cd3dc2adf60a5072084332de26393866e7f9970..61e0d71e93ff93eda94d6731a69e3e00b6237ba5 100644 --- a/p2p/server.go +++ b/p2p/server.go @@ -260,9 +260,11 @@ func (srv *Server) Stop() { // No new peers can be added at this point because dialLoop and // listenLoop are down. It is safe to call peerWG.Wait because // peerWG.Add is not called outside of those loops. + srv.lock.Lock() for _, peer := range srv.peers { peer.Disconnect(DiscQuitting) } + srv.lock.Unlock() srv.peerWG.Wait() }