From 9c4dfa7f84bb60c42f4e79c253fd5f7070ba5487 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Mon, 8 Oct 2018 18:04:56 -0300 Subject: [PATCH] attach subscriptions to on_connected and stop service before discarding the object --- torba/baseledger.py | 5 +++++ torba/basenetwork.py | 2 ++ 2 files changed, 7 insertions(+) diff --git a/torba/baseledger.py b/torba/baseledger.py index a19347518..692610668 100644 --- a/torba/baseledger.py +++ b/torba/baseledger.py @@ -223,8 +223,13 @@ class BaseLedger(metaclass=LedgerRegistry): self.headers.open() ]) first_connection = self.network.on_connected.first + self.network.on_connected.listen(self.join_network) self.network.start() yield first_connection + + @defer.inlineCallbacks + def join_network(self, *args): + log.info("Subscribing and updating accounts.") yield self.update_headers() yield self.network.subscribe_headers() yield self.update_accounts() diff --git a/torba/basenetwork.py b/torba/basenetwork.py index dc1397a64..eec68577d 100644 --- a/torba/basenetwork.py +++ b/torba/basenetwork.py @@ -167,6 +167,8 @@ class BaseNetwork: log.exception("Connecting to %s raised an exception:", connection_string) finally: self.client = None + if self.service is not None: + self.service.stopService() if not self.running: return