From 61eebb2b7706709fb4f16ba3289f260edc62ab94 Mon Sep 17 00:00:00 2001 From: ThomasV Date: Wed, 9 Mar 2022 13:47:53 +0100 Subject: [PATCH] lnpeer: no need to raise GracefulDisconnect twice --- electrum/lnpeer.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/electrum/lnpeer.py b/electrum/lnpeer.py index 21a525d45..6a1548549 100644 --- a/electrum/lnpeer.py +++ b/electrum/lnpeer.py @@ -314,12 +314,11 @@ class Peer(Logger): pass async def wait_for_message(self, expected_name, channel_id): + # errors and warnings are sent to the queue with name set to None, so that this task terminates q = self.ordered_message_queues[channel_id] name, payload = await asyncio.wait_for(q.get(), LN_P2P_NETWORK_TIMEOUT) - if payload.get('error'): - raise GracefulDisconnect(f'Waiting for {expected_name} failed due to an error sent by the peer.') - elif payload.get('warning'): - raise GracefulDisconnect(f'Waiting for {expected_name} failed due to a warning sent by the peer.') + if name is None: + return if name != expected_name: raise Exception(f"Received unexpected '{name}'") return payload