diff --git a/discovery/gossiper.go b/discovery/gossiper.go index 8257c2fc5..66aba91b7 100644 --- a/discovery/gossiper.go +++ b/discovery/gossiper.go @@ -478,7 +478,7 @@ func (d *AuthenticatedGossiper) ProcessRemoteAnnouncement(msg lnwire.Message, // If we've found the message target, then we'll dispatch the // message directly to it. - syncer.ProcessQueryMsg(m) + syncer.ProcessQueryMsg(m, peer.QuitSignal()) errChan <- nil return errChan diff --git a/discovery/syncer.go b/discovery/syncer.go index 5568b3707..91793b72d 100644 --- a/discovery/syncer.go +++ b/discovery/syncer.go @@ -982,12 +982,11 @@ func (g *gossipSyncer) FilterGossipMsgs(msgs ...msgWithSenders) { // ProcessQueryMsg is used by outside callers to pass new channel time series // queries to the internal processing goroutine. -func (g *gossipSyncer) ProcessQueryMsg(msg lnwire.Message) { +func (g *gossipSyncer) ProcessQueryMsg(msg lnwire.Message, peerQuit <-chan struct{}) { select { case g.gossipMsgs <- msg: - return + case <-peerQuit: case <-g.quit: - return } }