From 95c9a73fbb3b04424788dd0fc400c2e2ca9f497f Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Fri, 28 Sep 2018 09:35:35 +0930 Subject: [PATCH] gossipd: set sent flag when sending reply_short_channel_ids_end Otherwise, if we don't announce the last node, we'll not flush this out; it will be delayed until the next time we send gossip! Signed-off-by: Rusty Russell --- CHANGELOG.md | 1 + gossipd/gossipd.c | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c972c84b1..84bb2c474 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,7 @@ changes. - JSON RPC: `ping` now works even after one peer fails to respond. - JSON RPC: `getroute` `fuzzpercent` and `pay` `maxfeepercent` can now be > 100. - Protocol: fix occasional deadlock when both peers flood with gossip. +- Protocol: fix occasional long delay on sending `reply_short_channel_ids_end`. ### Security diff --git a/gossipd/gossipd.c b/gossipd/gossipd.c index ff68e5c28..e93409253 100644 --- a/gossipd/gossipd.c +++ b/gossipd/gossipd.c @@ -865,6 +865,7 @@ static bool create_next_scid_reply(struct peer *peer) &rstate->chain_hash, true); queue_peer_msg(peer, take(end)); + sent = true; peer->scid_queries = tal_free(peer->scid_queries); peer->scid_query_idx = 0; peer->scid_query_nodes = tal_free(peer->scid_query_nodes);