From 3a2c4ec5941715be511ce56dddb56e2d9d91dadf Mon Sep 17 00:00:00 2001 From: Wilmer Paulino Date: Wed, 13 Mar 2019 13:35:44 -0700 Subject: [PATCH] discovery: add missing offline peer check before sending message reliably --- discovery/reliable_sender.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/discovery/reliable_sender.go b/discovery/reliable_sender.go index 1887ff1c..6b8dc6d0 100644 --- a/discovery/reliable_sender.go +++ b/discovery/reliable_sender.go @@ -225,6 +225,14 @@ out: // can only contain messages which have a ShortChannelID field. shortChanID, _ := msgShortChanID(msg) + // Ensure the peer is still online right before sending the + // message. + select { + case <-offlineChan: + goto waitUntilOnline + default: + } + if err := peer.SendMessage(false, msg); err != nil { log.Errorf("Unable to send %v message for channel=%v "+ "to %x: %v", msg.MsgType(), shortChanID,