aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--les/handler.go7
-rw-r--r--p2p/discv5/net.go3
2 files changed, 8 insertions, 2 deletions
diff --git a/les/handler.go b/les/handler.go
index 44a0a1661..cf698d79c 100644
--- a/les/handler.go
+++ b/les/handler.go
@@ -236,7 +236,7 @@ func (pm *ProtocolManager) removePeer(id string) {
}
func (pm *ProtocolManager) findServers() {
- if pm.p2pServer == nil {
+ if pm.p2pServer == nil || pm.topicDisc == nil {
return
}
enodes := make(chan string, 100)
@@ -259,7 +259,10 @@ func (pm *ProtocolManager) findServers() {
}
}
}()
- time.Sleep(time.Second * 20)
+ select {
+ case <-time.After(time.Second * 20):
+ case <-pm.quitSync:
+ }
close(stop)
}
diff --git a/p2p/discv5/net.go b/p2p/discv5/net.go
index afc92e99f..b08cd2bc7 100644
--- a/p2p/discv5/net.go
+++ b/p2p/discv5/net.go
@@ -863,6 +863,9 @@ func init() {
name: "verifywait",
handle: func(net *Network, n *Node, ev nodeEvent, pkt *ingressPacket) (*nodeState, error) {
switch ev {
+ case pingPacket:
+ net.handlePing(n, pkt)
+ return verifywait, nil
case pongPacket:
err := net.handleKnownPong(n, pkt)
return known, err