diff --git a/lbry/extras/daemon/components.py b/lbry/extras/daemon/components.py index fee15ea09..5bd2460cf 100644 --- a/lbry/extras/daemon/components.py +++ b/lbry/extras/daemon/components.py @@ -750,3 +750,4 @@ class TrackerAnnouncerComponent(Component): if self.announce_task and not self.announce_task.done(): self.announce_task.cancel() self.announce_task = None + self.tracker_client.stop() diff --git a/lbry/torrent/tracker.py b/lbry/torrent/tracker.py index 86da5b2ba..57824a4c6 100644 --- a/lbry/torrent/tracker.py +++ b/lbry/torrent/tracker.py @@ -5,7 +5,7 @@ import logging import time from collections import namedtuple -from lbry.utils import resolve_host, async_timed_cache +from lbry.utils import resolve_host, async_timed_cache, cancel_tasks from lbry.wallet.stream import StreamController log = logging.getLogger(__name__) @@ -145,6 +145,8 @@ class TrackerClient: self.client = None self.transport = None self.EVENT_CONTROLLER.close() + cancel_tasks([task for _, task in self.tasks]) + self.tasks.clear() def hash_done(self, info_hash): self.announced += 1