From 821431a23913349ae1c698b7653f42fc91ccb241 Mon Sep 17 00:00:00 2001 From: ThomasV Date: Mon, 13 Apr 2020 11:34:58 +0200 Subject: [PATCH] lnpeer: move ping_if_required away from message_loop If our connection dies because we went to sleep, message_loop will stall and ping_if_required will never be called. --- electrum/lnpeer.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/electrum/lnpeer.py b/electrum/lnpeer.py index 9eb5aab3d..b3864eab7 100644 --- a/electrum/lnpeer.py +++ b/electrum/lnpeer.py @@ -463,7 +463,6 @@ class Peer(Logger): async for msg in self.transport.read_messages(): self.process_message(msg) await asyncio.sleep(.01) - self.ping_if_required() def on_reply_short_channel_ids_end(self, payload): self.querying.set() @@ -1452,8 +1451,10 @@ class Peer(Logger): return closing_tx.txid() async def htlc_switch(self): + await self.initialized while True: await asyncio.sleep(0.1) + self.ping_if_required() for chan_id, chan in self.channels.items(): if not chan.can_send_ctx_updates(): continue